[Cbe-oss-dev] [regression/bisected] corrupt CD data after media change and delay

James Bottomley James.Bottomley at HansenPartnership.com
Sat Jun 7 01:13:22 EST 2008


On Fri, 2008-06-06 at 16:06 +0200, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> When mounting a CD/DVD more than 30 seconds after inserting it, and reading
> from it, we get:
> 
>     attempt to access beyond end of device
>     sr0: rw=0, want=371932, limit=371928
>     Buffer I/O error on device sr0, logical block 92982
>     attempt to access beyond end of device
>     sr0: rw=0, want=371936, limit=371928
>     Buffer I/O error on device sr0, logical block 92983
>     attempt to access beyond end of device
>     sr0: rw=0, want=371940, limit=371928
>     Buffer I/O error on device sr0, logical block 92984
>     attempt to access beyond end of device
>     sr0: rw=0, want=371944, limit=371928
>     Buffer I/O error on device sr0, logical block 92985
>     attempt to access beyond end of device
>     sr0: rw=0, want=371948, limit=371928
>     Buffer I/O error on device sr0, logical block 92986
>     ...
> 
> It can be reproduced on a PS3 with busybox userland using:
> 
>     # Insert first CD
>     $ mount /dev/sr0 /mnt
>     $ ls -R /mnt
>     $ umount /mnt
>     $ eject
>     # Remove first CD
> 
>     # Insert second CD
>     # Wait at least 30 seconds
>     $ mount /dev/sr0 /mnt
>     $ tar cf /dev/null /mnt
> 
> It does not happen when mounting the second CD within 30 seconds after
> inserting it, which is consistent with
> 
>     #define SR_TIMEOUT     (30 * HZ)
> 
> I can't seem to reproduce it with a Debian or Fedora Core 6 userland.
> 
> The problem is present in 2.6.25.
> 2.6.24 is OK.

Hmm ... how are you preventing HAL from automatically mounting the CD?

Also, in the two different situations, what does

cat /sys/block/sr0/size

(assuming your cd is sr0) give you?  My first theory is an incorrect
size propagating from something.

James





More information about the cbe-oss-dev mailing list