I am using 0.0.2i-pre3 with a Yamaha CRW4416S (SCSI3-MMC drive on an Adaptec AIC7880UW). When writing many files to a disc (eg. the kernel source), the driver seems to work OK to begin with: Detected scsi CD-ROM sr1 at scsi0, channel 0, id 2, lun 0 ... sr1: scsi3-mmc drive: 6x/6x writer cd/rw xa/form2 cdda tray ... pktcdvd: kernel thread pktcdvd0 started pktcdvd: writer sr1 sucessfully registered pktcdvd: speed (R/W) 3/2 pktcdvd: inserted media is CD-RW pktcdvd: Fixed packets, 32 blocks / packet, Mode-2 disc pktcdvd: enabled write caching on pktcdvd0 pktcdvd: speed (R/W) 3/2 pktcdvd: 540032kB available on disc [Lots of data written to disc, no errors in log] then suddenly floods the log with thousands of errors similar to: Device 0b:01 not ready: cmd=0, sector=95224, nr_sectors=8 or Device 0b:01 not ready: cmd=0, sector=628924, nr_sectors=68 Hope I've given sufficient information. Stephen Mollett
On Wed, Apr 25 2001, Stephen Mollett wrote:
I am using 0.0.2i-pre3 with a Yamaha CRW4416S (SCSI3-MMC drive on an Adaptec AIC7880UW). When writing many files to a disc (eg. the kernel source), the driver seems to work OK to begin with:
Detected scsi CD-ROM sr1 at scsi0, channel 0, id 2, lun 0 ... sr1: scsi3-mmc drive: 6x/6x writer cd/rw xa/form2 cdda tray ... pktcdvd: kernel thread pktcdvd0 started pktcdvd: writer sr1 sucessfully registered pktcdvd: speed (R/W) 3/2 pktcdvd: inserted media is CD-RW pktcdvd: Fixed packets, 32 blocks / packet, Mode-2 disc pktcdvd: enabled write caching on pktcdvd0 pktcdvd: speed (R/W) 3/2 pktcdvd: 540032kB available on disc
[Lots of data written to disc, no errors in log]
then suddenly floods the log with thousands of errors similar to:
Device 0b:01 not ready: cmd=0, sector=95224, nr_sectors=8 or Device 0b:01 not ready: cmd=0, sector=628924, nr_sectors=68
Probably blocks going bad, the drive has trouble reading them. The issue is most likely that sr doesn't retry enough, or if it has the the blocks really are shady. I'm waiting on doing the bad block remapping, it really is needed for somewhat reliable cd-rw. And there will be a scandisk type util too. BTW, did the messages come flooding all of a sudden or trickling? -- Jens Axboe
I am using 0.0.2i-pre3 with a Yamaha CRW4416S (SCSI3-MMC drive on an Adaptec AIC7880UW). ... ... ... errors similar to: Device 0b:01 not ready: cmd=0, sector=95224, nr_sectors=8
Probably blocks going bad, the drive has trouble reading them.
I've tried it on several discs, including a brand-new one (6x rated, driver selects speed 6/4, as it's only a 4x writer), with the same results.
BTW, did the messages come flooding all of a sudden or trickling?
They don't begin to appear until quite a long time after write operations have begun, then they come thick and fast. I just ran mke2fs -b 2048 -m 0 -c /dev/pktcdvd0 to see what happened on a badblocks scan. The scan completed successfully, (no errors appeared in the log either; I monitored it throughout the scan) then when mke2fs came to write the filesystem structures to the disc, the drive did rapid seeks across the disc but didn't actually write anything: $ mke2fs /dev/pktcdvd0 -b 2048 -m 0 -c mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=2048 (log=1) Fragment size=2048 (log=1) 67728 inodes, 270016 blocks 0 blocks (0.00%) reserved for the super user First data block=0 17 block groups 16384 blocks per group, 16384 fragments per group 3984 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456 Checking for bad blocks (read-only test): done Writing inode tables: done Writing superblocks and filesystem accounting information: done If I wait a while, the run mke2fs again without the -c option, it successfully creates a filesystem, which checks out ok with e2fsck. Stephen Log extract follows, with added comments: pktcdvd: inserted media is CD-RW pktcdvd: Fixed packets, 32 blocks / packet, Mode-2 disc pktcdvd: enabled write caching on pktcdvd0 pktcdvd: speed (R/W) 3/2 pktcdvd: 540032kB available on disc pktcdvd: speed (R/W) 3/2 /* badblocks scan runs and completes successfully without producing any log * entries, then... */ end_request: I/O error, dev 0b:01 (pktcdvd0), sector 16 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 20 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 24 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 28 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 32 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 36 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 40 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 44 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 48 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 52 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 56 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 60 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 64 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 68 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 72 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 76 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 80 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 84 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 88 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 92 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 96 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 100 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 104 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 108 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 112 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 116 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 120 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 124 rq_end_io: no current rq rq_end_io: BUSY not set rq_end_io: RQ not set end_request: I/O error, dev 0b:01 (pktcdvd0), sector 128 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 132 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 136 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 140 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 144 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 148 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 152 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 156 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 160 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 164 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 168 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 172 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 176 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 180 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 184 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 188 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 192 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 196 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 200 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 204 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 208 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 212 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 216 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 220 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 224 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 228 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 232 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 236 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 240 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 244 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 248 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 252 rq_end_io: no current rq rq_end_io: BUSY not set rq_end_io: RQ not set end_request: I/O error, dev 0b:01 (pktcdvd0), sector 256 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 260 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 264 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 268 rq_end_io: no current rq rq_end_io: BUSY not set rq_end_io: RQ not set ... /* Over the next few seconds, this goes all the way up to: */ ... end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1049572 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1049576 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1049580 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1049584 /* And finally: */ end_request: I/O error, dev 0b:01 (pktcdvd0), sector 0 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 4 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 8 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 12 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1024 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1028 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1032 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1036 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1040 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1044 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 0 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 4 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 65536 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 65540 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 196608 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 196612 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 327680 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 327684 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 458752 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 458756 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 589824 end_request: I/O error, dev 0b:01 (pktcdvd0), sector 589828 /* Which, presumably, is the superblocks being "written", although the drive * did not actually go into write mode at any time during the procedure */
On Thu, Apr 26 2001, Stephen Mollett wrote:
I am using 0.0.2i-pre3 with a Yamaha CRW4416S (SCSI3-MMC drive on an Adaptec AIC7880UW). ... ... ... errors similar to: Device 0b:01 not ready: cmd=0, sector=95224, nr_sectors=8
Probably blocks going bad, the drive has trouble reading them.
I've tried it on several discs, including a brand-new one (6x rated, driver selects speed 6/4, as it's only a 4x writer), with the same results.
Ok
BTW, did the messages come flooding all of a sudden or trickling?
They don't begin to appear until quite a long time after write operations have begun, then they come thick and fast.
Then it definitely sounds like a timeout/retry bug in sr.
I just ran mke2fs -b 2048 -m 0 -c /dev/pktcdvd0 to see what happened on a badblocks scan. The scan completed successfully, (no errors appeared in the log either; I monitored it throughout the scan) then when mke2fs came to write the filesystem structures to the disc, the drive did rapid seeks across the disc but didn't actually write anything:
$ mke2fs /dev/pktcdvd0 -b 2048 -m 0 -c mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=2048 (log=1) Fragment size=2048 (log=1) 67728 inodes, 270016 blocks 0 blocks (0.00%) reserved for the super user First data block=0 17 block groups 16384 blocks per group, 16384 fragments per group 3984 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456
Checking for bad blocks (read-only test): done Writing inode tables: done Writing superblocks and filesystem accounting information: done
If I wait a while, the run mke2fs again without the -c option, it successfully creates a filesystem, which checks out ok with e2fsck.
Interesting!
Stephen
Log extract follows, with added comments:
pktcdvd: inserted media is CD-RW pktcdvd: Fixed packets, 32 blocks / packet, Mode-2 disc pktcdvd: enabled write caching on pktcdvd0 pktcdvd: speed (R/W) 3/2 pktcdvd: 540032kB available on disc pktcdvd: speed (R/W) 3/2 /* badblocks scan runs and completes successfully without producing any log * entries, then... */ end_request: I/O error, dev 0b:01 (pktcdvd0), sector 16
No pktcdvd: killing request messages ?
rq_end_io: BUSY not set rq_end_io: RQ not set ... /* Over the next few seconds, this goes all the way up to: */ ... end_request: I/O error, dev 0b:01 (pktcdvd0), sector 1049572
Ok, it looks like pktcdvd was marked read only and these are failed writes. No messages like that though? I've made sure to log that in the future.
/* Which, presumably, is the superblocks being "written", although the drive * did not actually go into write mode at any time during the procedure */
Right, they never got that far. -- Jens Axboe
On Thu, Apr 26 2001, Stephen Mollett wrote:
I am using 0.0.2i-pre3 with a Yamaha CRW4416S (SCSI3-MMC drive on an Adaptec AIC7880UW). ... ... ... errors similar to: Device 0b:01 not ready: cmd=0, sector=95224, nr_sectors=8
[snip] Could you try 0.0.2j and see how that works? Also, I had one misfortune with the newer aic7xxx driver, so if 0.0.2j still does it please try the older driver (if you are using the old one already, let me know). -- Jens Axboe
participants (2)
-
Jens Axboe
-
Stephen Mollett