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
Here some logs:
1)-- file 100MB, writing speed 4X, ide-scsi mode , write cashing enabled, buffer 512, hdc dma off
--
Feb 7 15:01:04 my kernel: pktcdvd: inserted media is CD-RW
Feb 7 15:01:04 my kernel: pktcdvd: Fixed packets, 32 blocks, Mode-2 disc
Feb 7 15:01:04 my kernel: pktcdvd: enabled write caching on pktcdvd0
Feb 7 15:01:04 my kernel: pktcdvd: speed (R/W) 12/8
Feb 7 15:01:04 my kernel: pktcdvd: 590528kB available on disc
Feb 7 15:01:05 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:01:37 my kernel: I/O error: dev 0b:00, sector 6272
Feb 7 15:01:37 my kernel: udf: udf_read_inode(ino 1568) failed !bh
Feb 7 15:02:01 my kernel: pktcdvd: inserted media is CD-RW
Feb 7 15:02:01 my kernel: pktcdvd: Fixed packets, 32 blocks, Mode-2 disc
Feb 7 15:02:01 my kernel: pktcdvd: enabled write caching on pktcdvd0
Feb 7 15:02:01 my kernel: pktcdvd: speed (R/W) 12/8
Feb 7 15:02:01 my kernel: pktcdvd: 590528kB available on disc
Feb 7 15:02:03 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:02:54 my kernel: I/O error: dev 0b:00, sector 6144
Feb 7 15:02:54 my kernel: Ignoring read error on sector:6144
Feb 7 15:02:54 my kernel: I/O error: dev 0b:00, sector 14208
Feb 7 15:02:54 my kernel: Ignoring read error on sector:14208
..
# Comment: first atempt to read (mnt -t udf /dev/pktcdvd0 /mnt/cdrw -o rw,noatime)
# formatted disc (15:01:37) fails with error "directory lostfound exist but cannot be stated",
# after disc remounting this error disappear
2) -- multiple files (300MB), hdc dma on, write cashing enabled, cache size 512KB, 4X speed,..
Feb 7 15:30:31 my kernel: pktcdvd: inserted media is CD-RW
Feb 7 15:30:31 my kernel: pktcdvd: Fixed packets, 32 blocks, Mode-2 disc
Feb 7 15:30:31 my kernel: pktcdvd: enabled write caching on pktcdvd0
Feb 7 15:30:31 my kernel: pktcdvd: speed (R/W) 12/8
Feb 7 15:30:31 my kernel: pktcdvd: 590528kB available on disc
Feb 7 15:30:32 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:31:29 my su(pam_unix)[929]: session opened for user root by serge(uid=500)
Feb 7 15:31:34 my kernel: pktcdvd: inserted media is CD-RW
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
Feb 7 15:32:54 my kernel: EIP: 0010:[<c0173c07>] Not tainted
Feb 7 15:32:54 my kernel: EFLAGS: 00010246
Feb 7 15:32:54 my kernel: eax: 00000000 ebx: c580ea40 ecx: 00000100 edx: 000000d8
Feb 7 15:32:54 my kernel: esi: c580ea40 edi: c95a5f50 ebp: c95a5ec4 esp: c95a5b48
Feb 7 15:32:54 my kernel: ds: 0018 es: 0018 ss: 0018
Feb 7 15:32:54 my kernel: Process mc (pid: 964, stackpage=c95a5000)
Feb 7 15:32:54 my kernel: Stack: c580ea40 c580e860 c95a5f50 c95a5ba0 00000000 c95a5ba4 c95a5ba8
00000000
Feb 7 15:32:54 my kernel: 00000000 00000000 00000000 1e000000 00000028 00000036 00000000
00000000
Feb 7 15:32:54 my kernel: c9c72fac ca38dc00 0000cb79 0000005e 00000000 00000000 00000000
00000000
Feb 7 15:32:54 my kernel: Call Trace: [udf_add_aext+1051/1248] [getblk+24/64] [bread+34/108]
[udf_tread+52/56] [udf_fileident_read+546/1016]
Feb 7 15:32:54 my kernel: Call Trace: [<c0171827>] [<c012fd3c>] [<c012ff2a>] [<c0179e9c>]
[<c0179a3e>]
Feb 7 15:32:54 my kernel: [getblk+24/64] [bread+34/108] [udf_find_entry+726/1204]
[udf_release_data+14/20] [udf_find_entry+1186/1204] [ext3_get_block_handle+133/580]
Feb 7 15:32:54 my kernel: [<c012fd3c>] [<c012ff2a>] [<c0173002>] [<c017a56a>] [<c01731ce>]
[<c014d899>]
Feb 7 15:32:54 my kernel: [do_get_write_access+1135/1172] [__journal_file_buffer+133/400]
[udf_bitmap_new_block+180/1676] [udf_bitmap_new_block+1597/1676] [udf_get_pblock+109/128]
[udf_new_inode+612/652]
Feb 7 15:32:54 my kernel: [<c0154fdb>] [<c0155ee5>] [<c016be84>] [<c016c40d>] [<c0175b7d>]
[<c016e278>]
Feb 7 15:32:54 my kernel: [udf_mkdir+116/568] [in_group_p+30/40] [vfs_permission+115/240]
[vfs_mkdir+116/172] [sys_mkdir+137/208] [system_call+51/64]
Feb 7 15:32:54 my kernel: [<c0174214>] [<c011e63a>] [<c0135f6f>] [<c0137584>] [<c0137645>]
[<c0106d33>]
Feb 7 15:32:54 my kernel:
Feb 7 15:32:54 my kernel: Code: 8b 40 34 01 c2 89 95 c4 fc ff ff e9 52 01 00 00 8b 4d 10 89
Feb 7 15:32:54 my kernel: I/O error: dev 0b:00, sector 6144
Feb 7 15:32:54 my kernel: Ignoring read error on sector:6144
..
Yes you right - speed rate reported by mc is related only for system data caching.
So i try to do all data transfer synchronously:
mount -t udf /dev/pktcdvd0 /mnt/cdrw -o noatime,rw,sync
After mounting i get more realtime write process (like Windows DirectCD does)
but after few seconds of writing with mc i get "segmentation fault" error ...
System messages from /var/log/messages are the same - "kernel: Ignoring read error on sector:
NNNN"
In any case after write fault i can't unmount disc (get error "device is busy") - device is
locked.
Any help ?
Thanks.
Regards,
Sergiy Kudryk
--- Peter Osterlund
On Wed, 6 Feb 2002, Petr Nejedly wrote:
Peter Osterlund wrote:
On Wed, 6 Feb 2002, Sergiy Kudryk wrote:
Hello
Can anybody help ?
I can't successfully write to CDRW disc a large file (> 50 MB) - too many i/o errors.
How i can decrease writing speed of pktcdvd layer ?
You have to edit the source code. In the pkt_open_write function, there is a call to pkt_adjust_speed. Change the "16" to the speed you want to use.
I have CDRW drive with 4X write speed and when i start to copy big file (500 Mbytes) to /mnt/cdrw using mc system shows writing speed about 9 MB/s (should be no more then 600 KB/s).
Maybe if the writes start to fail, they can fail with a speed faster than 600Kb/s.
No, the truth is that the data is "copied" to buffer cache and that does the writing in the background.
Yes I know that, but I thought the phrase "system shows writing speed ..." was referring to information from "vmstat" or equivalent, which shows how much data goes to the device. If the 9Mb/s value came from mc, I agree the information is not very useful because of the caching.
-- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340
__________________________________________________ Do You Yahoo!? Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com