Richardson, Eric J
2015-05-07 23:03:18 UTC
I am hoping that someone can help me with my growisofs problem. It's not really a Debian problem, but the author:
http://fy.chalmers.se/~appro/linux/DVD+RW/
suggests I start here anyway.
I have a (relatively new) server that we used to run Solaris 10 update 7 on. On this system, we would perform backups of certain log files every day to DVD. For this, we used:
growisofs -Z /dev/rdsk/c0t0d0s0 -R -f <files>
for the first write, and
growisofs -M /dev/rdsk/c0t0d0s0 -R -f <files>
For subsequent writes. We never had to eject the tray until we were ready to take it out, which is good, because there is no way to automatically reload the tray once it has ejected on this server, as on most servers. It worked swimmingly, as it always had on our other systems. For reference, on Solaris 10 we were using growisofs 7.1, and mkisofs 2.0.1.
Now we are in the process of moving to Red Hat 6.6. I don't think there's anything special about Red Hat, as I was able to duplicate the problem on Slackware 14.1, but that's the system we are trying to work with. Since I'd heard about troubles with the 'genisoimage' program that ships with Red Hat (and Debian, and Ubuntu), I went ahead and downloaded a cdrtools RPM from this helpful fellow:
http://negativo17.org/cdrtools/
and I also removed the 'fake' cdrtools that comes with Red Hat, just to be safe. So, now we are using Red Hat with a kernel of:
Linux 2.6.32-504.8.1.el6.x86_64
Mkisofs is:
mkisofs 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2015 Joerg Schilling
Growisofs is:
* growisofs by <***@fy.chalmers.se>, version 7.1,
front-ending to mkisofs: mkisofs 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2015 Joerg Schilling
And, in case you were curious, cdrecord is:
Cdrecord-ProDVD-ProBD-Clone 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1995-2015 Joerg Schilling
The DVD drive in question is reported by cdrecord -scanbus as:
'Optiarc ' 'BD RW BD-5750H ' '1.00' Removable CD-ROM
Unfortunately I cannot confirm this by physically inspecting the drive as I can't do so with the server where it is right now. But, like I said, it worked on Solaris 10 update 7, so it can't be TOO alien.
The physical media are JVC DVD-R 16X discs, off a big ol' spindle that says 'For Professional Use.' I don't think they would have a case if I used them in an unprofessional capacity. We use these media specifically because we have never had a problem with them and, as I said, the same media work fine on Solaris 10.
Volume management (or autofs) is not running, and all commands are run as root.
Here is how the disk looks to dvd+rw-mediainfo before I write anything to it:
INQUIRY: [Optiarc ][BD RW BD-5750H ][1.00]
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: blank
Number of Sessions: 1
State of Last Session: empty
"Next" Track: 1
Number of Tracks: 1
READ TRACK INFORMATION[#1]:
Track State: invisible incremental
Track Start Address: 0*2KB
Next Writable Address: 0*2KB
Free Blocks: 2297888*2KB
Track Size: 2297888*2KB
READ CAPACITY: 0*2048=0
Looks blank to me! The only problem I can see with the way we write to DVD is I now have to tell growisofs not to eject the tray. I write the first session like so:
growisofs -Z /dev/sr0 -use-the-force-luke=notray -R -f file1file1file1_REDHAT.txt file2file2file2_REDHAT.txt file3file3file3_REDHAT.txt
Executing 'mkisofs -R -f file1file1file1_REDHAT.txt file2file2file2_REDHAT.txt file3file3file3_REDHAT.txt | builtin_dd of=/dev/sr0 obs=32k seek=0'
Setting input-charset to 'UTF-8' from locale.
Total translation table size: 0
Total rockridge attributes bytes: 503
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
178 extents written (0 MB)
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
builtin_dd: 192*2KB out @ average infx1352KBps
/dev/sr0: flushing cache
/dev/sr0: updating RMA
/dev/sr0: closing session
Other than using a Linux-style block device, this is how it has always looked. Now I will try to mount the media:
mount -o ro /dev/sr0 -t iso9660 /media/
mount: wrong fs type, bad option, bad superblock on /dev/sr0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Nice! If I leave off the filesystem type, it complains, although it does not require a filesystem type at any other time. Here is what dvd+rw-mediainfo says:
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: appendable
Number of Sessions: 2
State of Last Session: empty
"Next" Track: 2
Number of Tracks: 2
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 65264*2KB
Last Recorded Address: 191*2KB
READ TRACK INFORMATION[#2]:
Track State: invisible incremental
Track Start Address: 93952*2KB
Next Writable Address: 93952*2KB
Free Blocks: 2203936*2KB
Track Size: 2203936*2KB
FABRICATED TOC:
Track#1 : ***@0
Track#AA : ***@192
Multi-session Info: #***@0
READ CAPACITY: 192*2048=393216
It sure does look like it can see it! But I can't mount the disc. If I now eject the disc, and re-load the tray, I can mount it just fine, and see the files on it. Dvd+rw-mediainfo reports exactly the same information it did before I reloaded the tray. I will now write a second session to the disc:
growisofs -use-the-force-luke=notray -M /dev/sr0 -R file4file4file4_REDHAT.txt file5file5file5_REDHAT.txt file6file6file6_REDHAT.txt
Executing 'mkisofs -C 16,93952 -M /dev/fd/3 -R file4file4file4_REDHAT.txt file5file5file5_REDHAT.txt file6file6file6_REDHAT.txt | builtin_dd of=/dev/sr0 obs=32k seek=5872'
Setting input-charset to 'UTF-8' from locale.
ISO-9660 image includes checksum signature for correct inode numbers.
SUSP signatures version 1 found
Rock Ridge signatures version 1 found
Rock Ridge id 'RRIP_1991A'
Total translation table size: 0
Total rockridge attributes bytes: 821
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
178 extents written (0 MB)
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
builtin_dd: 192*2KB out @ average infx1352KBps
/dev/sr0: flushing cache
/dev/sr0: updating RMA
/dev/sr0: closing session
I can now mount the media with:
mount /dev/sr0 /media
But I can only see the first session on the disk (i.e., file1, file2, and file3, but not file4, file5, or file6). If I perform a dvd+rw-mediainfo, I get:
INQUIRY: [Optiarc ][BD RW BD-5750H ][1.00]
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: appendable
Number of Sessions: 3
State of Last Session: empty
"Next" Track: 3
Number of Tracks: 3
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 65264*2KB
Last Recorded Address: 191*2KB
READ TRACK INFORMATION[#2]:
Track State: complete incremental
Track Start Address: 93952*2KB
Free Blocks: 0*2KB
Track Size: 192*2KB
Last Recorded Address: 94143*2KB
READ TRACK INFORMATION[#3]:
Track State: invisible incremental
Track Start Address: 100304*2KB
Next Writable Address: 100304*2KB
Free Blocks: 2197584*2KB
Track Size: 2197584*2KB
FABRICATED TOC:
Track#1 : ***@0
Track#2 : ***@93952
Track#AA : ***@94144
Multi-session Info: #***@93952
READ CAPACITY: 94144*2048=192806912
dvd+rw-mediainfo "knows" that I wrote a new track, but I can't see the new data when I mount the disk. If I eject the disc and re-load the tray, I can see the data just fine.
So, I can't write a multisession DVD on Linux without reloading the tray, though I could on Solaris 10. This problem does not appear on all drives, but it does on two of the three systems we have tested it on. I have tried:
blockdev --flushbufs --rereadpt /dev/sr0
and I have tried writing a C program that does an:
ioctl(fd, CDROMRESET)
and I have tried:
cdrecord -reset dev=0,0,0
All to no avail. I had read that this was a problem with kernels older than 2.6.8, but we are using 2.6.32, and anyway, I can repeat the problem on Slackware using kernel 3.10.17. Am I missing something?
Any help is appreciated.
Thanks,
-Eric J. Richardson
http://fy.chalmers.se/~appro/linux/DVD+RW/
suggests I start here anyway.
I have a (relatively new) server that we used to run Solaris 10 update 7 on. On this system, we would perform backups of certain log files every day to DVD. For this, we used:
growisofs -Z /dev/rdsk/c0t0d0s0 -R -f <files>
for the first write, and
growisofs -M /dev/rdsk/c0t0d0s0 -R -f <files>
For subsequent writes. We never had to eject the tray until we were ready to take it out, which is good, because there is no way to automatically reload the tray once it has ejected on this server, as on most servers. It worked swimmingly, as it always had on our other systems. For reference, on Solaris 10 we were using growisofs 7.1, and mkisofs 2.0.1.
Now we are in the process of moving to Red Hat 6.6. I don't think there's anything special about Red Hat, as I was able to duplicate the problem on Slackware 14.1, but that's the system we are trying to work with. Since I'd heard about troubles with the 'genisoimage' program that ships with Red Hat (and Debian, and Ubuntu), I went ahead and downloaded a cdrtools RPM from this helpful fellow:
http://negativo17.org/cdrtools/
and I also removed the 'fake' cdrtools that comes with Red Hat, just to be safe. So, now we are using Red Hat with a kernel of:
Linux 2.6.32-504.8.1.el6.x86_64
Mkisofs is:
mkisofs 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2015 Joerg Schilling
Growisofs is:
* growisofs by <***@fy.chalmers.se>, version 7.1,
front-ending to mkisofs: mkisofs 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2015 Joerg Schilling
And, in case you were curious, cdrecord is:
Cdrecord-ProDVD-ProBD-Clone 3.01a27 (x86_64-unknown-linux-gnu) Copyright (C) 1995-2015 Joerg Schilling
The DVD drive in question is reported by cdrecord -scanbus as:
'Optiarc ' 'BD RW BD-5750H ' '1.00' Removable CD-ROM
Unfortunately I cannot confirm this by physically inspecting the drive as I can't do so with the server where it is right now. But, like I said, it worked on Solaris 10 update 7, so it can't be TOO alien.
The physical media are JVC DVD-R 16X discs, off a big ol' spindle that says 'For Professional Use.' I don't think they would have a case if I used them in an unprofessional capacity. We use these media specifically because we have never had a problem with them and, as I said, the same media work fine on Solaris 10.
Volume management (or autofs) is not running, and all commands are run as root.
Here is how the disk looks to dvd+rw-mediainfo before I write anything to it:
INQUIRY: [Optiarc ][BD RW BD-5750H ][1.00]
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: blank
Number of Sessions: 1
State of Last Session: empty
"Next" Track: 1
Number of Tracks: 1
READ TRACK INFORMATION[#1]:
Track State: invisible incremental
Track Start Address: 0*2KB
Next Writable Address: 0*2KB
Free Blocks: 2297888*2KB
Track Size: 2297888*2KB
READ CAPACITY: 0*2048=0
Looks blank to me! The only problem I can see with the way we write to DVD is I now have to tell growisofs not to eject the tray. I write the first session like so:
growisofs -Z /dev/sr0 -use-the-force-luke=notray -R -f file1file1file1_REDHAT.txt file2file2file2_REDHAT.txt file3file3file3_REDHAT.txt
Executing 'mkisofs -R -f file1file1file1_REDHAT.txt file2file2file2_REDHAT.txt file3file3file3_REDHAT.txt | builtin_dd of=/dev/sr0 obs=32k seek=0'
Setting input-charset to 'UTF-8' from locale.
Total translation table size: 0
Total rockridge attributes bytes: 503
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
178 extents written (0 MB)
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
builtin_dd: 192*2KB out @ average infx1352KBps
/dev/sr0: flushing cache
/dev/sr0: updating RMA
/dev/sr0: closing session
Other than using a Linux-style block device, this is how it has always looked. Now I will try to mount the media:
mount -o ro /dev/sr0 -t iso9660 /media/
mount: wrong fs type, bad option, bad superblock on /dev/sr0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Nice! If I leave off the filesystem type, it complains, although it does not require a filesystem type at any other time. Here is what dvd+rw-mediainfo says:
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: appendable
Number of Sessions: 2
State of Last Session: empty
"Next" Track: 2
Number of Tracks: 2
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 65264*2KB
Last Recorded Address: 191*2KB
READ TRACK INFORMATION[#2]:
Track State: invisible incremental
Track Start Address: 93952*2KB
Next Writable Address: 93952*2KB
Free Blocks: 2203936*2KB
Track Size: 2203936*2KB
FABRICATED TOC:
Track#1 : ***@0
Track#AA : ***@192
Multi-session Info: #***@0
READ CAPACITY: 192*2048=393216
It sure does look like it can see it! But I can't mount the disc. If I now eject the disc, and re-load the tray, I can mount it just fine, and see the files on it. Dvd+rw-mediainfo reports exactly the same information it did before I reloaded the tray. I will now write a second session to the disc:
growisofs -use-the-force-luke=notray -M /dev/sr0 -R file4file4file4_REDHAT.txt file5file5file5_REDHAT.txt file6file6file6_REDHAT.txt
Executing 'mkisofs -C 16,93952 -M /dev/fd/3 -R file4file4file4_REDHAT.txt file5file5file5_REDHAT.txt file6file6file6_REDHAT.txt | builtin_dd of=/dev/sr0 obs=32k seek=5872'
Setting input-charset to 'UTF-8' from locale.
ISO-9660 image includes checksum signature for correct inode numbers.
SUSP signatures version 1 found
Rock Ridge signatures version 1 found
Rock Ridge id 'RRIP_1991A'
Total translation table size: 0
Total rockridge attributes bytes: 821
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
178 extents written (0 MB)
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
builtin_dd: 192*2KB out @ average infx1352KBps
/dev/sr0: flushing cache
/dev/sr0: updating RMA
/dev/sr0: closing session
I can now mount the media with:
mount /dev/sr0 /media
But I can only see the first session on the disk (i.e., file1, file2, and file3, but not file4, file5, or file6). If I perform a dvd+rw-mediainfo, I get:
INQUIRY: [Optiarc ][BD RW BD-5750H ][1.00]
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: TYG03
Current Write Speed: 8.0x1385=11080KB/s
Write Speed #0: 6.0x1385=8310KB/s
Write Speed #1: 4.0x1385=5540KB/s
Write Speed #2: 2.0x1385=2770KB/s
Write Speed #3: 8.0x1385=11080KB/s
Speed Descriptor#0: 09/2298495 ***@8.0x1385=11080KB/s ***@8.0x1385=11080KB/s
Speed Descriptor#1: 00/2298495 ***@8.0x1385=11080KB/s ***@6.0x1385=8310KB/s
Speed Descriptor#2: 00/2298495 ***@4.0x1385=5540KB/s ***@4.0x1385=5540KB/s
Speed Descriptor#3: 00/2298495 ***@2.5x1385=3463KB/s ***@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 0*2KB=0
READ DISC INFORMATION:
Disc status: appendable
Number of Sessions: 3
State of Last Session: empty
"Next" Track: 3
Number of Tracks: 3
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 65264*2KB
Last Recorded Address: 191*2KB
READ TRACK INFORMATION[#2]:
Track State: complete incremental
Track Start Address: 93952*2KB
Free Blocks: 0*2KB
Track Size: 192*2KB
Last Recorded Address: 94143*2KB
READ TRACK INFORMATION[#3]:
Track State: invisible incremental
Track Start Address: 100304*2KB
Next Writable Address: 100304*2KB
Free Blocks: 2197584*2KB
Track Size: 2197584*2KB
FABRICATED TOC:
Track#1 : ***@0
Track#2 : ***@93952
Track#AA : ***@94144
Multi-session Info: #***@93952
READ CAPACITY: 94144*2048=192806912
dvd+rw-mediainfo "knows" that I wrote a new track, but I can't see the new data when I mount the disk. If I eject the disc and re-load the tray, I can see the data just fine.
So, I can't write a multisession DVD on Linux without reloading the tray, though I could on Solaris 10. This problem does not appear on all drives, but it does on two of the three systems we have tested it on. I have tried:
blockdev --flushbufs --rereadpt /dev/sr0
and I have tried writing a C program that does an:
ioctl(fd, CDROMRESET)
and I have tried:
cdrecord -reset dev=0,0,0
All to no avail. I had read that this was a problem with kernels older than 2.6.8, but we are using 2.6.32, and anyway, I can repeat the problem on Slackware using kernel 3.10.17. Am I missing something?
Any help is appreciated.
Thanks,
-Eric J. Richardson