cd writing/reading problem

cd writing/reading problem

Post by Stefano Ghirlan » Sun, 31 Dec 1899 09:00:00

I have the following problem with cd writing. CD-Writing-HOWTO, cd
writing FAW, cdrecord docs did not help. I am working on a
stream-oriented backup software for cds. I write streams of data to the
cd, not filesystems, and I would like to get them back of course.

I use cdrecord for writing. At the beginning of each data stream I write a
header with length information so that I can dd back the piece of cd I
need. Each data stream is written as a session. The proble is that dd
doesn't work when I look for data streams (sessions) after the first.
I get one or two sectors (512B) of empty space and then I/O error.
For example here is how I get the first header on the cd:

#  dd if=/dev/scd0 ibs=512 count=1
Bytestream by backburner, raw stream begins after this 512 byte header
MediaID=938086392  ArchiveID=homecarladambackup.tar.bz2-FULL  MediaNum=1
MediaCap=642998272  MediaLen=16712669  LastMedia=1  Device=cdr  ---End of
1+0 records in
1+0 records out

This is correct. I can extract the tar.bz2 archive fine. I know that there
is a second archive after this one (e.g. as shown by cdrecord -toc). I try
to get it looking after 32642 blocks of 512 bytes (which should be the
right size):

# dd if=/dev/scd0 ibs=512 count=1 skip=32642
1+0 records in
1+0 records out

ok, this was some empty padding at the endo of the track... I see the same
skipping one block further, but:

# dd if=/dev/scd0 ibs=512 count=1 skip=32644
dd: /dev/scd0: I/O error
0+0 records in
0+0 records out

and then I do not know what to do...
Can this be a fault in my setup or am I missing something?
I am using cdrecord 1.6.1 on slackware 3.6.
Thanks a lot,

 Stefano Ghirlanda, Zoologiska Institutionen, Stockholms Universitet
    Office: D554, Arrheniusv. 14, S-106 91 Stockholm, Sweden

   Support Free Science, look at: