Bug 10116
Summary: | can't read DVD after writing | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Oleg Kostyuk (cub.uanic) |
Component: | Serial ATA | Assignee: | Jeff Garzik (jgarzik) |
Status: | CLOSED DOCUMENTED | ||
Severity: | normal | CC: | akpm, alan, gurdasani, matifamin |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.23-gentoo-r3 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | dmesg output of failure/eject/remount/success |
Description
Oleg Kostyuk
2008-02-26 09:52:34 UTC
argh, this one again. We made some changes to the i_size handling recently which might help here. Can you please test 2.6.25-rc3? Thanks Just tested vanilla-sources-2.6.25_rc3 - all works fine with DVD drive, without any errors or even warnings. But unfortunately, I have Realtek8168 NIC, and drivers from manufacturer site (http://www.realtek.com.tw/downloads/searchView.aspx?keyword=8168) does not compile with this kernel. I'm upset now :( What you can propose? Should I try other kernel, may be some 2.6.24 ? hm, OK, I'm having trouble working out how we actually fixed the DVD problem. regarding the 8168: it looks like the in-kernel rtl8169 driver is supposed to support that NIC? Just tested with linux-2.6.24-gentoo-r2 - DVD works just fine, without any errors or warnings. RTL8168 works well with in-kernel rtl8169 driver. Seems bit slowly (~63.5 Mb/s instead of ~90, as before), but it's not fatal for me. Btw, this in-kernel driver in .23 have problems with Samba and because of this I switched to manufacturer's driver. As for me - all problems gone for now, and I stay on 2.6.24-r2. But note that in .23 kernel problem still unresolved. Andrew, I think that we can close this bug, if this acceptable for you. If not - I can try to help you debug this case in .23 under your command. And thanks for your help :) Any progress?.. How to about close this bug?... >argh, this one again. > >We made some changes to the i_size handling recently which might help here. >Can >you please test 2.6.25-rc3? > >Thanks I see this issue with Debian's 2.6.25-2-amd64 kernel, which is based on x86_64 arch 2.6.25.3. #7805 suggested that pktcdvd was to blame; turning off packet writing worked around the problem. http://bugzilla.kernel.org/show_bug.cgi?id=7805 (In Debian: run sudo invoke-rc.d udftools stop to disable packet writing, and edit /etc/default/udftools and comment out the DEVICES line, so that packet writing is never enabled.) This bug is real and valid. It's just not so easy to trigger this bug. The cause of this bug is describe in commit 7b3d9545f9ac8b31528dd2d6d8ec8d19922917b8 (Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"") Mr. Torvalds suggest to: " The proper fix for that is probably to just do something like bdev->bd_inode->i_size = (loff_t)get_capacity(disk)<<9; in fs/block_dev.c:do_open() even for the cases where we're not the original opener (but *not* call bd_set_size(), since that will also change the block size of the device). " Created attachment 16399 [details]
dmesg output of failure/eject/remount/success
I think I have just triggered this yesterday and today on my laptop, and it's slightly funny, because ejecting and remounting the DVD gets rid of the errors. I burn DVD on my desktop (old noname K7-800 still running FC6 with a custom 2.6.25-rc6-git2 kernel) and mount them on a laptop (Dell Latitude D610 running Fedora 9, running with a custom 2.6.26-rc4-git5 kernel). [asuardi@sandman ~]$ grep cdrom /etc/fstab /dev/sr0 /cdrom udf,iso9660 pamconsole,exec,noauto 0 0 What I do is: desktop -> burn DVD-R via growisofs, no error messages, burn appears OK laptop -> insert disc into drive, mount -r /cdrom laptop -> try and access the files on the cdrom -> get I/O failures laptop -> watch dmesg, see stuff starting like this ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A SELinux: initialized (dev sr0, type iso9660), uses genfs_contexts attempt to access beyond end of device sr0: rw=0, want=3042220, limit=2097151 Buffer I/O error on device sr0, logical block 760554 attempt to access beyond end of device sr0: rw=0, want=3042224, limit=2097151 Buffer I/O error on device sr0, logical block 760555 attempt to access beyond end of device sr0: rw=0, want=3042228, limit=2097151 ... for a number of logical block errors, then it switches to just the "attempt" and the "sr0: ..." lines. laptop -> from a gnome-terminal, type "eject" laptop -> re-insert DVD, mount -r /cdrom laptop -> access files, no problem laptop -> watch dmesg, see UDF-fs DEBUG fs/udf/lowlevel.c:43:udf_get_last_session: XA disk: no, vol_desc_start=0 UDF-fs DEBUG fs/udf/super.c:1920:udf_fill_super: Multi-session=0 UDF-fs DEBUG fs/udf/super.c:613:udf_vrs: Starting at sector 16 (2048 byte sectors) UDF-fs DEBUG fs/udf/super.c:637:udf_vrs: ISO9660 Primary Volume Descriptor found UDF-fs DEBUG fs/udf/super.c:641:udf_vrs: ISO9660 Supplementary Volume Descriptor found UDF-fs DEBUG fs/udf/super.c:649:udf_vrs: ISO9660 Volume Descriptor Set Terminator found UDF-fs: No VRS found ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A SELinux: initialized (dev sr0, type iso9660), uses genfs_contexts ...and NO errors. This happened a few minutes ago and yesterday with two different discs. Today's full dmesg attached above. Your DVD writing goes beyong the access limit. Its page structure is not closed properly according to its writing speed. # SU # gedit /etc/media/dvd/hyurert.conf Make changing to the file where written Allow access speed Yes with Allow Access speed No and Writing Speed 16X isnted of 80X |