Subject: ISO 9660 level 3 for files >= 4G, was Re: File > 2G on a dvd
To: Rhialto <rhialto@azenomei.knuffel.net>
From: Frederick Bruckman <fredb@immanent.net>
List: current-users
Date: 12/07/2004 20:05:46
On Tue, 7 Dec 2004, Rhialto wrote:
> On Thu 02 Dec 2004 at 00:02:15 -0600, Frederick Bruckman wrote:
>> Suppose we just assume that partial blocks won't occur in the middle of a
>> file?
>
> That sounds like an excellent idea. So, when cd9660 encounters the
> multiple directory entries belonging to the same file, it could/should
> check for internal partial blocks and round up (so the total size
> matches with the added internal junk).
Yes, that's what I was thinking, rounding up to 2K blocks, leaving
garbage in the middle where necessary. It's not like there many level
3 images to be found in the wild. The only reason I brought it up, is
that it's a way to be able to represent arbitrarily large files on ISO
9660 images.
The ideas presented in the ISO 9660 spec were ahead of their time. You
were supposed to be able to create different files from different cuts
of the same data -- think "deleted scenes" or "director's cut". Level
3 was never widely implemented, and the so the DVD-Video folks
evidently decided to do the same thing at a higher level. Now, while
the spec apparently also allows for partial blocks in the middle of a
file, I can't see any purpose to creating such a file, and I believe
it must be a defect in the spec. What we would have then, would be
technically a partial implementation of ISO 9660 Level 3, but so what?
> Alternatively, if there are internal partial blocks, it could handle the
> file as it is now (whatever that happens to be, show only a partial file
> maybe), or even more alternatively it could even show multiple files
> with some derived name for each. Depending on the application this
> might even be not completely useless.
I think, now, that that's just too complicated. You can already see
the "raw" directory entries with a tool such as "isoinfo", and knowing
that file sections must be continuous extents, you could extract them
with "dd" (or "isoinfo"). There's no need to expose internals to the
file system.
What NetBSD does *now* -- listing only the tail end of the file -- is
maximally dumb. If only it got the start right, but the length wrong,
that would be better. ("mplayer" would just work, as it appears to
ignore the file length in favor of the information in the VOB.)
> Of course one might also implement UDF, but a quick Google session does
> not yet reveal some source code to drop in. There is
> http://sourceforge.net/projects/linux-udf/ though.
I'd be surprised if that were useful to NetBSD. UDF is a more evolved
version of ISO 9660 (with new directory structures), and the specs are
already public. Besides, as you might expect, linux-udf is GPL'd.
Frederick