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

Re: Linux, ISOFS, multi-extent files: what's the status?



Hi,

Giulio wrote:
> I'd like to understand what are the pitfalls, if any, in using multi-extent
> files, as enabled by mkisofs "--iso-level 3" option for files larger than
> 4GiB-2, on Linux.
me:
> > "..My 2.6.18 swallows the last few bytes if the file
> > size is not a multiple of 2048...."
Giulio:
> dd if=/dev/urandom of=filetest bs=1000000 count=4300
> mkisofs -quiet --iso-level 3 -o test.iso filetest
> sudo mount -o loop test.iso /mnt/cdrom
> md5sum /mnt/cdrom/filetest

That is about what failed on my kernel.
Closer examination reveiled that the data were
ok up to the last incomplete block of 2048.
Vreixo Formoso, who developed the multi-extent
feature in libisofs, reported that his kernel
has no problems.
It was back in 2008. (On Ubuntu, i believe to
remember.)

> Then on 2009-09-27 this patch was applied
> "[PATCH] I/O Error attempting to read last partial block of a file in an
> ISO9660 file... "

Much too young for Vreixo's success report.
So this must be a different problem.
It would roughly match my symptoms.
But i had no error, just a truncated file.

The ISO 9660 implementations of the various free
OSes seem not to be intensly maintained.
One needs to test carfully the suitablity of all
intended readers.


> How can I test multi-extent file hadling effectively?

Your test file is the right benchmark for the
problem that is known to me.
Currently i can imagine only one problem that
would not show up with it:
Bugs with more than 2 extents.

In libisofs i reduced the extent size to 10 MB
and recorded a file with 500 MB.
My kernel did not show additional problems.


> I have to stay on RHEL5 kernel I cannot patch or upgrade the kernel.

libisofs resp. its command line application
xorriso should be able to retrieve large files
even on systems which have a problem with
ISO 9660 multi-extent.
E.g.

  $ xorriso -osirrox on -indev test.iso \
            -extract /filetest /path/on/disk

(It would help if the image was produced with
 Rock Ridge info. E.g mkisofs -R.
 One would not have to guess about exact writing
 of file names.)

One may also use xorriso for exploring the ISO
tree:

  $ xorriso -dialog on -osirrox on -indev test.iso
  ...
  ============================
  enter option and arguments :
  -lsl /
  ==============================================================
  Valid ISO nodes found: 4
  -rw-r--r--    1 1000    1000    843734 Jan  1 17:13 'cdrskin-0.7.5.tar.gz'
  -rw-r--r--    1 1000    1000       600 Nov 17  2007 'id_dsa.pub'
  drwxr-xr-x    1 1000    1000         0 Jan  8 13:52 'projekte'
  -rw-r--r--    1 1000    1000   1385134 Jan  1 14:58 'xorriso-0.4.7.tar.gz'
  ============================
  enter option and arguments :
  -extract /xorriso-0.4.7.tar.gz /home/thomas/xorriso-0.4.7.tar.gz
  ...


Have a nice day :)

Thomas


Reply to: