Re: BD-RE mount problem
Gary Dale <[email protected]>
| Newsgroups | gmane.comp.audio.cd-record,gmane.linux.debian.user |
|---|---|
| Message-ID | <[email protected]> |
On 10/08/12 12:46 PM, Gary Dale wrote: > On 10/08/12 10:33 AM, Thomas Schmitt wrote: >> Hi, >> >> i can reproduce the symptoms by a read-only situation of drive and >> media. (It should not happen with BD-RE in a BD writer, of course.) >> >> open_sr0.c with O_NDELAY yielded: >>> open: fd= 3 , errno= 0 >>> write: ret= 2048 , errno= 0 >> I get the same behavior when i put a DVD into a DVD-ROM drive. >> It allows me to dump my data into a black hole and reports no error >> to the userspace program. >> In /var/log/messages i find >> >> sr 6:0:0:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE >> sr 6:0:0:0: [sr1] Sense Key : Illegal Request [current] >> sr 6:0:0:0: [sr1] Add. Sense: Invalid command operation code >> sr 6:0:0:0: [sr1] CDB: Write(10): 2a 00 00 00 00 00 00 00 01 00 >> lost page write due to I/O error on sr1 >> >> Looks like an old kernel bug resp. unwanted way to silently >> shoot your own foot. >> It happens too with 8 subsequent write() calls with sleep(1) inbetween. >> No delayed error is returned. >> >> >> ------------------------------------------------------------------- >> >> I dug out the reason why libburn (underneath xorriso) uses O_NDELAY >> when it opens the drive device file. >> >> A note to myself in libburn/sg-linux.c: >> >> O_NONBLOCK is prescribed by<linux/cdrom.h> >> Switched to O_NDELAY for LKML statement 2007/4/11/141 by >> Alan Cox: >> "open() has side effects. The CD layer allows you to open >> with O_NDELAY if you want to avoid them." >> >> In Debian squeeze's /usr/include/linux/cdrom.h: >> >> * Additionally, as of Linux 2.1.x, all Linux application programs >> * should use the O_NONBLOCK option when opening a CD-ROM device >> * for subsequent ioctl commands. This allows for neat system errors >> * like "No medium found" or "Wrong medium type" upon attempting to >> * mount or play an empty slot, mount an audio disc, or play a data >> disc. >> >> This explains why open() does not fail with O_NDELAY (= O_NOBLOCK): >> For ioctl(SG_IO) one needs w-permission. So it must tolerate >> O_RDWR | O_NDELAY >> But why does not write(2) fail afterwards ? >> >> >> Have a nice day :) >> >> Thomas > I did try this when booting from System Rescue CD (sub stick) as well. > I get the same results. I'm hoping to get another system up and > running next week that also has a BluRay writer. I'll give that a try > too. > > Thanks. I did another test using system rescue cd. While it gives me the same error when I run dvd+rw-format, I note that mkudffs complains about multiple extents. I don't know why it gives a different message under system rescue cd than under Debian/Wheezy but I thought it might be a clue as to what the problem is. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]