[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-xorriso] xorrecord_consult_eject_trac_source_trouble

From: Thomas Schmitt
Subject: Re: [Bug-xorriso] xorrecord_consult_eject_trac_source_trouble
Date: Mon, 15 Apr 2013 08:32:05 +0200


Sorry, the mailing list software has dropped your post while
waiting for my approval. So i repeat it here.

(Strangely i did not get the mail copy which you sent directly
 to me. Only the notification from the mailing list came through.)

Date: Mon, 15 Apr 2013 13:06:33 +0800
From:    address@hidden
To: scdbackup <address@hidden>
Cc: bug-xorriso <address@hidden>
Subject: xorrecord_consult_eject_trac_source_trouble


I encountered some problems while using xorrecord tools to operate
BD-R, my operation flow and questions is following.

1) get disc information

command : xorrecord dev=/dev/sr0 -msinfo

infor : 740384,740736

2) create ISO file

command : xorrisofs -M /dev/sr0 -C 740384,740736 -o
/media/sda1/ready.iso -J -graft-points /media/sda1/bdroot

3) burn file into disc

command : xorrecord -v dev=/dev/sr0 speed=2 fs=8m -multi
--grow_overwriteable_iso padsize=300k /media/sda1/ready.iso

Repeat the above steps from 1) to 3) to burn the second file and the
third file into the disc, but I can just see the third file in the
disc throuth "ls" command, In this case, there are 3 sessions in the

But, when I alter the 3) command by "xorrecord -v dev=/dev/sr0
speed=2 fs=8m -multi --grow_overwriteable_iso -eject padsize=300k
/media/sda1/ready.iso" which with "-eject" track source, it works
properly, after operation, there exits 3 files in the disc, In this
case, the trouble is that the disc will eject after burnning every

How can I burn 3 files into the disc, without ejecting disc evert
time I burn one file

I will appreciate it if you response timely!

Yours Sincerely

My answer:

This is a known problem of Linux, which does not take notice that
it has forwarded WRITE commands from burn program to burner drive.
It still keeps outdated buffered data of the medium in memory until
the medium gets ejected and reloaded.

growisofs automatically ejects and re-loads after burning. I deem
this dangerous to the fingers of the user. Furthermore, not all
drives can eject by own motor power.
So i decided not to eject automatically.

The problem also sabotages the success of the classic pair
mkisofs and cdrecord, because mkisofs reads the existing ISO
directory tree via the bogus Linux buffers.
If you use the xorrisofs emulation of xorriso, then you are prone
to this, too. This is where you lost the older files.

xorriso as itself is immune against the bogus buffers because it
reads its data directly from the burner drive.
Steps 1 to 3 then get united to a single step:

  xorriso -dev /dev/sr0 \
          -speed 2 -fs 8m -joliet on \
          -map /media/sda1/bdroot /
(Note that the sequence of commands matters with native xorriso.
 First aquire a drive by -dev, then set its parameters and define
 the payload.)

This will not solve the problem that Linux sees outdated blocks
until the medium gets re-loaded.
But it will solve the problem that xorrisofs sees those outdated
blocks too.
So the resulting filesystem will contain all accumulated files
and Linux will show them after re-loading and mounting the medium.

About BD-R multi-session:

One of my drives does up to 300 sessions on BD-R media. But it
has become hard to get suitable media for it.
The other can write newer BD-R media but bails out after about
130 sessions.
So the sessions should not be too small or else the medium will
refuse taking new sessions while still having free space.

Have a nice day :)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]