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

Re: growisofs minus_rw_quickgrow question

>     I was trying to write arbitrary files to DVD-RW using growisofs.  When I
> use
>         dumpsomething | growisofs -use-the-force-luke=seek:N -Z /dev/dvd=/dev/fd/0,
> the DVD can not be play back. I think it was because the media wasn't
> closed,

Define "can not be played back." Point is that under most circumstances
recorder unit is perfectly capable of accessing open media and it's
essential to understand how does "can not be played back" manifest
itself in order to answer the question. Always(!) complement problem
reports with dvd+rw-mediainfo output (as well as exact growisofs command
line and exact output).

> but I don't know how to set "quickgrown=1" to active "Close session"
> cmd in minus_rw_finalize.

"quickgrown" is DVD-RW Restricted Overwrite thing, so I assume we're
talking about DVD-RW Restricted Overwrite. Note that in order for the
referred procedure to work with DVD-RW media, the latter has to be
*fully* formatted prior recording(*), e.g. with 'dvd+rw-format
-force=full /dev/dvd'(**). Why? Here is how DVD-RW Restricted Overwrite
works. Imagine you've just formatted your DVD-RW disc with
'dvd+rw-format -force /dev/dvd'. The only thing you can do with it at
this point is *write* from LBA 0 in sequential(!) manner. After you've
written some data (in sequential manner) you write a lead-out, let's say
at LBA X. After that [and only after that] you can intermix reads *and*
[aligned] writes with arbitrary LBA less than X. Whenever you want to
add more data you have to remove the lead-out at LBA X, after which the
only thing you can do is *write* again and from LBA X in strictly
sequential(!) manner. Before you can intermix reads and writes again,
you have to write lead-out at the point sequential recording has
proceeded to beyond X. What does it mean for the referred command? Given
that growisofs does not support "on-the-fly(***) DVD-RW Quick Grow," it
means that if N is less than X, but the stream is larger than X-N, then
recording is bound to fail. As you most likely don't know the exact
values of stream size and X in advance, the only way to assure reliable
results is to fully format the media. The fact that Quick Grow procedure
is not properly applied with -use-the-force-luke=seek:N might as well be
a bug, and I'll look into it(****), but meanwhile do make sure the media
is fully formatted.

(*) Keep in mind that we're talking about DVD-RW, DVD+RW does not have
to be fully formatted and the referred command should always work.
(**) Another way to make sure media is fully formatted is to 'growisofs
-Z /dev/dvd=/dev/zero';
(***) Not with -use-the-force-luke=seek:N that is. Quick Grow procedure
is properly applied for growisofs -M recordings
(****) But I need your dvd+rw-mediainfo output for this.

> So, I checked the minus_rw_quickgrow function, and
> get confused. Can Andy or anyone please explain how can type ==2 be true
> when format was not initialized?

See above and imagine yourself at the point right after you've written
lead-out at LBA X.

>     If I just add quickgrown=1, what will happen?

Isn't it easier to just try? We're talking about rewritable media, so
you can always just start from scratch with 'dvd+rw-format -force
/dev/dvd':-) A.

Reply to: