On Fri, 8 Feb 2002, Sergiy Kudryk wrote:
Hello Peter
Unfortunally your hint doesn't help me to achieve stable writing (synchronously or in background) to CDRW disc.
Copying any big portion of data (tested with mc help) failed after few second with message "no space left on device" on console and many i/o errors in /var/log/messages
Is the same disc working in DirectCD in windows? A worn out disc would probably generate the same errors you are seeing. Another thing you could try is to make the read speed equal to the write speed. Your drive/disc combination seemed to be able to handle 8x, so you could use this patch. (I have no idea if this will really help.) --- pktcdvd.c.old Fri Feb 8 21:09:59 2002 +++ pktcdvd.c Fri Feb 8 21:09:17 2002 @@ -1670,7 +1670,7 @@ * and gather data. maybe 1/1 factor is faster, needs a bit of testing. */ speed = speed * 0xb0; - read_speed = (speed * 3) >> 1; + read_speed = speed; read_speed = min_t(unsigned, read_speed, 0xffff); init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); @@ -1784,7 +1784,7 @@ (void) pkt_write_caching(pd, USE_WCACHING); - if ((ret = pkt_adjust_speed(pd, 16))) { + if ((ret = pkt_adjust_speed(pd, 8))) { DPRINTK("pktcdvd: %s couldn't set write speed\n", pd->name); return -EIO; }
Feb 7 15:31:34 my kernel: pktcdvd: Fixed packets, 32 blocks, Mode-2 disc Feb 7 15:31:34 my kernel: pktcdvd: enabled write caching on pktcdvd0 Feb 7 15:31:34 my kernel: pktcdvd: speed (R/W) 12/8 Feb 7 15:31:34 my kernel: pktcdvd: 590528kB available on disc Feb 7 15:31:36 my kernel: UDF-fs INFO UDF 0.9.5-rw (2001/10/10) Mounting volume 'LinuxUDF', timestamp 2002/02/07 13:15 (1078) Feb 7 15:32:13 my kernel: I/O error: dev 0b:00, sector 5648 Feb 7 15:32:13 my kernel: Ignoring read error on sector:5648 ...
Feb 7 15:32:41 my kernel: Ignoring read error on sector:1400 Feb 7 15:32:41 my kernel: Ignoring read error on sector:1404 Feb 7 15:32:42 my kernel: I/O error: dev 0b:00, sector 124548 Feb 7 15:32:44 my last message repeated 855 times Feb 7 15:32:54 my kernel: I/O error: dev 0b:00, sector 213988 Feb 7 15:32:54 my kernel: I/O error: dev 0b:00, sector 213988 Feb 7 15:32:54 my kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000034 Feb 7 15:32:54 my kernel: printing eip: Feb 7 15:32:54 my kernel: c0173c07 Feb 7 15:32:54 my kernel: *pde = 00000000 Feb 7 15:32:54 my kernel: Oops: 0000 Feb 7 15:32:54 my kernel: CPU: 0 Feb 7 15:32:54 my kernel: EIP: 0010:[udf_add_entry+2407/3044] Not tainted
...
In any case after write fault i can't unmount disc (get error "device is busy") - device is locked.
It seems the udf filesystem can't handle the massive amount of media errors you get. Instead it oopses and the device is left in "busy" state. -- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340