2.6.11-rc[1,2]-mmX scsi cdrom problem, 2.6.10-mm2 ok
I'm seeing a problem with latest mm releases; with 2.6.11-rc1,2-mmX every time I fire up k3b, it get stuck here: (last line, previous lines just for documentation :) )
open("/dev/hdc", O_RDONLY|O_NONBLOCK) = 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0) = 0
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK) = 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc590) = -1 EIO (Input/output error)
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK) = 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0) = 0ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0) = 0
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK) = 11ioctl(11, CDROM_GET_CAPABILITY or SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT, 0x7fffffff) = 3735535
close(11) = 0lstat64("/dev", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=30220, ...}) = 0 lstat64("/dev/sr1", {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...}) = 0open("/dev/sr1", O_RDONLY|O_NONBLOCK) = 11fstat64(11, {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...}) = 0 ioctl(11, CDROM_SEND_PACKET, 0xbfffd740) = 0
close(11) = 0open("/dev/sr1", O_RDONLY|O_NONBLOCK) = 11fstat64(11, {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...}) = 0 ioctl(11, CDROMAUDIOBUFSIZ or SCSI_IOCTL_GET_IDLUN, 0xbfffd7e8) = 0 ioctl(11, SCSI_IOCTL_GET_BUS_NUMBER, 0xbfffd8a4) = 0
close(11) = 0open("/dev/sr1", O_RDONLY|O_NONBLOCK) = 11ioctl(11, CDROM_SEND_PACKET, 0xbfffd7d0) = 0
ioctl(11, CDROM_SEND_PACKET
At this point k3b is stuck in D stat, needs reboot.
I've thinked of faulty HW, but 2.6.10-mm2 can complete the scan (I haven't tried to use that device, to ber honest, after successful initialization).
On scsi- bus I've the following devices:
cova@kefk ~ $ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: Nikon Model: COOLSCANIII Rev: 1.31
Type: Scanner ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 03 Lun: 00
Vendor: PLEXTOR Model: CD-ROM PX-40TS Rev: 1.01
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 05 Lun: 00
Vendor: YAMAHA Model: CRW6416S Rev: 1.0c
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Maxtor 6Y160M0 Rev: YAR5
Type: Direct-Access ANSI SCSI revision: 05
cova@kefk ~ $ cat /proc/scsi/aic7xxx/0
Adaptec AIC7xxx driver version: 6.2.36
Adaptec 2902/04/10/15/20C/30C SCSI adapter
aic7850: Single Channel A, SCSI Id=7, 3/253 SCBs
Allocated SCBs: 4, SG List Length: 128
Let me know if further details/testing are needed.
Signature · 4 lines
Fabio Coatti http://members.ferrara.linux.it/cova Ferrara Linux Users Group http://ferrara.linux.it GnuPG fp:9765 A5B6 6843 17BC A646 BE8C FA56 373A 5374 C703 Old SysOps never die... they simply forget their password.
Quoted 33 lines · Fabio Coatti
I'm seeing a problem with latest mm releases; with 2.6.11-rc1,2-mmX every time I fire up k3b, it get stuck here: (last line, previous lines just for documentation :) )
open("/dev/hdc", O_RDONLY|O_NONBLOCK)= 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0)= 0
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK)= 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc590)= -1 EIO (Input/output error)
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK)= 11ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0)= 0ioctl(11, CDROM_SEND_PACKET, 0xbfffc4e0)= 0
close(11) = 0open("/dev/hdc", O_RDONLY|O_NONBLOCK)= 11ioctl(11, CDROM_GET_CAPABILITY or SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT, 0x7fffffff)= 3735535
close(11) = 0lstat64("/dev", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=30220, ...})= 0lstat64("/dev/sr1", {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...})= 0open("/dev/sr1", O_RDONLY|O_NONBLOCK)= 11fstat64(11, {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...})= 0ioctl(11, CDROM_SEND_PACKET, 0xbfffd740)= 0
close(11) = 0open("/dev/sr1", O_RDONLY|O_NONBLOCK)= 11fstat64(11, {st_mode=S_IFBLK|0600, st_rdev=makedev(11, 1), ...})= 0ioctl(11, CDROMAUDIOBUFSIZ or SCSI_IOCTL_GET_IDLUN, 0xbfffd7e8)= 0ioctl(11, SCSI_IOCTL_GET_BUS_NUMBER, 0xbfffd8a4)= 0
close(11) = 0open("/dev/sr1", O_RDONLY|O_NONBLOCK)= 11ioctl(11, CDROM_SEND_PACKET, 0xbfffd7d0)= 0
ioctl(11,CDROM_SEND_PACKET
Quoted 1 line
At this point k3b is stuck in D stat, needs reboot.
The most likely suspect is the REQ_BLOCK_PC scsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)
Signature · 1 line
Jens Axboe
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 5 lines
Quoted 2 lines
At this point k3b is stuck in D stat, needs reboot.
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)
just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.
Thanks :)
Signature · 4 lines
Fabio Coatti http://members.ferrara.linux.it/cova Ferrara Linux Users Group http://ferrara.linux.it GnuPG fp:9765 A5B6 6843 17BC A646 BE8C FA56 373A 5374 C703 Old SysOps never die... they simply forget their password.
Quoted 10 lines · Fabio Coatti
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 5 lines
Quoted 2 lines
At this point k3b is stuck in D stat, needs reboot.
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.
Doug, it looks like your REQ_BLOCK_PC changes are buggy. Let me know if you cannot find the full post and I'll forward it to you.
Signature · 1 line
Jens Axboe
Quoted 9 lines · Jens Axboe
Quoted 7 lines · Fabio Coatti
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 4 lines
Quoted 1 line
At this point k3b is stuck in D stat, needs reboot.
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)
Quoted 7 lines
Quoted 3 lines
just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.Doug, it looks like your
REQ_BLOCK_PCchanges are buggy. Let me know if you cannot find the full post and I'll forward it to you.
Jens,
Hmm. Found the thread on lkml. I got an almost identical lock up in k3b with a USB external cd/dvd drive recently. My laptop didn't need rebooting (probably since the root fs is one an ide disk).
That is a quite large patch that you referenced. I'll try and replicate and report back.
Doug Gilbert
Quoted 18 lines · Douglas Gilbert
Quoted 9 lines · Jens Axboe
Quoted 7 lines · Fabio Coatti
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 4 lines
Quoted 1 line
At this point k3b is stuck in D stat, needs reboot.
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)Quoted 7 lines
Quoted 3 lines
just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.Doug, it looks like your
REQ_BLOCK_PCchanges are buggy. Let me know if you cannot find the full post and I'll forward it to you.
Quoted 8 lines
Jens,
Hmm. Found the thread on lkml. I got an almost identical lock up in k3b with a USB external cd/dvd drive recently. My laptop didn't need rebooting (probably since the root fs is one an ide disk).That is a quite large patch that you referenced. I'll try and replicate and report back.
My guess would be the scsi_lib changes, I would suggest you start there.
Signature · 1 line
Jens Axboe
Quoted 11 lines · Jens Axboe
Quoted 9 lines · Douglas Gilbert
Quoted 7 lines · Jens Axboe
Quoted 4 lines · Fabio Coatti
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 1 line
Quoted 1 line
At this point k3b is stuck in D stat, needs reboot.
I was able to replicate this with a USB burner. My system didn't need a reboot. The "D" state was locked on "blk_execute_rq". The burner was still accessible via sg.
Quoted 17 lines
Quoted 17 lines
Quoted 10 lines
Quoted 6 lines
Quoted 2 lines
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.Doug, it looks like your
REQ_BLOCK_PCchanges are buggy. Let me know if you cannot find the full post and I'll forward it to you.Jens,
Hmm. Found the thread on lkml. I got an almost identical lock up in k3b with a USB external cd/dvd drive recently. My laptop didn't need rebooting (probably since the root fs is one an ide disk).
Quoted 5 lines
Quoted 2 lines
That is a quite large patch that you referenced. I'll try and replicate and report back.
My guess would be the
scsi_libchanges, I would suggest you start there.
Indeed. I'm not sure what I was thinking inscsi_io_completion(). This small reversion
fixes my k3b problem; tested with a USB external
burner.
drivers/scsi/scsi_lib.c2611r2b8_k3b renamed from drivers/scsi/scsi_lib.c +4 -6
@@ -692,6 +692,7 @@ int this_count = cmd->bufflen; request_queue_t *q = cmd->device->request_queue; struct request *req = cmd->request; + int clear_errors = 1; struct scsi_sense_hdr sshdr; int sense_valid = 0; int sense_deferred = 0;
@@ -721,6 +722,7 @@ if (blk_pc_request(req)) { /* SG_IO ioctl from block level */ req->errors = result; if (result) { + clear_errors = 0; if (sense_valid) { /* * SG_IO wants current and deferred errors
@@ -745,11 +747,6 @@ cmd->request_buffer = NULL; cmd->request_bufflen = 0; - if (blk_pc_request(req)) { /* SG_IO ioctl from block level */ - scsi_end_request(cmd, 1, good_bytes, 0); - return; - } - /* * Next deal with any sectors which we were able to correctly * handle.
@@ -759,7 +756,8 @@ req->nr_sectors, good_bytes)); SCSI_LOG_HLCOMPLETE(1, printk("use_sg is %d\n", cmd->use_sg)); - req->errors = 0; + if (clear_errors) + req->errors = 0; /* * If multiple sectors are requested in one buffer, then * they will have been finished off by the first command.
Quoted 11 lines · Douglas Gilbert
Quoted 10 lines · Jens Axboe
Quoted 8 lines · Douglas Gilbert
Quoted 6 lines · Jens Axboe
Quoted 3 lines · Fabio Coatti
Alle 09:00, lunedì 31 gennaio 2005, Jens Axboe ha scritto:
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
At this point k3b is stuck in D stat, needs reboot.
I was able to replicate this with a USB burner. My system didn't need a reboot. The "D" state was locked on "
blk_execute_rq". The burner was still accessible via sg.
With a slave burner on the same interface as your hard drive, it would soft hang the system.
Quoted 21 lines
Quoted 21 lines
Quoted 19 lines
Quoted 10 lines
Quoted 6 lines
Quoted 2 lines
The most likely suspect is the
REQ_BLOCK_PCscsi changes. Can you try 2.6.11-rc2-mm1 with bk-scsi backed out? (attached)just tried, right guess :)
backing out that patch the problem disappears. Let me know if you need to narrow further that issue.Doug, it looks like your
REQ_BLOCK_PCchanges are buggy. Let me know if you cannot find the full post and I'll forward it to you.Jens,
Hmm. Found the thread on lkml. I got an almost identical lock up in k3b with a USB external cd/dvd drive recently. My laptop didn't need rebooting (probably since the root fs is one an ide disk).That is a quite large patch that you referenced. I'll try and replicate and report back.
Quoted 6 lines
Quoted 1 line
My guess would be the
scsi_libchanges, I would suggest you start there.Indeed. I'm not sure what I was thinking in
scsi_io_completion(). This small reversion
fixes my k3b problem; tested with a USB external
burner.
Well at least I had hoped you would have tested patches going into mainline...
Can you make sure it gets to Linus asap? Otherwise I'm sure I'll be flooded with mails on burning not working very shortly.
Signature · 6 lines
Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html