[k3b] [Bug 379268] Importing previous session does nothing (version 17.04.0)

Thomas Schmitt bugzilla_noreply at kde.org
Mon May 1 10:16:50 UTC 2017


https://bugs.kde.org/show_bug.cgi?id=379268

--- Comment #40 from Thomas Schmitt <scdbackup at gmx.net> ---
Hi,

i tested my hack with a large file in the first session.

genisoimage refuses to create a suitable test situation.
mkisofs works even in old version 2.01.01.

genisoimage cannot do multi-session with files of 4 GiB or larger, because
it does not understand option -iso-level 3 as permission to write such
files as multiple directory records of the same name. It works only with
option -allow-limited-size which already in the first session spoils the
size of the file in the ISO 9660 tree.
Since the UDF tree of the second session is based on the loaded ISO 9660
tree of the first session, the spoiled size gets into the UDF tree.

My test:

  # Make dummy file larger than 4 GB
  dd if=/dev/zero bs=1M count=1 seek=4096 of=file_of_4gb+1m

  # Use my hacked genisoimage or old mkisofs
  # mkisofs=/.../cdrkit-1.1.10/build/genisoimage/genisoimage
  # limit_size="-iso-level 3 -allow-limited-size"
  mkisofs=/.../cdrtools-2.01.01a64/mkisofs/OBJ/x86_64-linux-cc/mkisofs
  limit_size="-iso-level 3"

  # Blank the DVD-RW fully for multi-session (lasts 20 minutes at 4x)
  xorriso -outdev /dev/sr0 -blank all -eject all

  # Write first session 
  $mkisofs -R -udf $limit_size -v -graft-points /1=./file_of_4gb+1m | \
  xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -

  # Determine numbers for option -C 
  c_values=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)

  # Write second session with small file /bin/ls as payload
  $mkisofs -R -udf $limit_size -v -graft-points -C "$c_values" -M /dev/sr0 \
           /2=/bin/ls | \
  xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -

After mounting -t udf, i see after using my hacked genisoimage:

  $ ls -l /mnt/iso
  total 8825
  -rw-r--r-- 1 thomas thomas 1048576 May  1 09:54 1
  -rwxr-xr-x 1 thomas thomas  118280 Mar 14  2015 2

but after using ye olde mkisofs-2.01.01a64:

  total 4195444
  -r--r--r-- 2 root root 4296015872 May  1 09:54 1
  -r-xr-xr-x 1 root root     118280 Mar 14  2015 2

I disabled the check for large files in mkisofs/tree.c and ran above
test again.
Result: Only a single directory record gets written for the large file
with size number rolled over from 4 GiB + 1 MiB to 1 MiB.

So it is hopeless to use genisoimage with large files unless in a
single session with -udf -allow-limited-size and the hope that all
readers will prefer UDF over the crippled ISO 9660 tree.


Have a nice day :)

Thomas

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the k3b mailing list