[k3b] [Bug 380067] [MATSHITA BD-MLT UJ240AS] :-( unable to WRITE at LBA=6d9a00h: Input/output error

Thomas Schmitt bugzilla_noreply at kde.org
Mon Jun 12 07:29:46 UTC 2017


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

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

mkisofs writes:
> This size can only be represented in the UDF filesystem.
> Make sure that your clients support and use it.

although having got among its arguments:

> ...  -iso-level 3 ...

File of size >= 4 GiB are not properly read from ISO 9660 by Solaris
and the BSD Unixes.
Linux and MS-Windows can handle large ISO 9660 files just fine.

ISO 9660 organizes the data content of files in "extents", which are
ranges of data blocks on the medium. An extent can at most have
4 GiB - 1 byte of size.
But ISO 9660 can express larger data files by chaining extents, up to
the maximum size of a ISO 9660 filesystem with block size 2048.
That's 2 exp (32 + 11) = 8 TiB.
By a poor design decision in libisofs API, xorriso is limited to 4 TiB
of filesystem size.

This chaining is called "Level 3".
See ECMA-119, 10, "Levels of Interchange":
- Level 1 allows files up 4 GiB - 1 byte with 8 characters in the file
  name and 3 characters in the extension. Directories may not have a
  name extension (i.e. only 8 characters). The character set is very
  limited.
- Level 2 allows file names as long as fits into the directory record
  (255 - 34 characters - some bytes needed for attaching Rock Ridge).
  The character set is not specified. UTF-8 should be ok.
- Level 3 allows long names, exotic characters, and multiple extents.


> please teaching me about UDF filesystem for bigger than 2GB files,
> is it available for Linux in the open source world?

mkisofs and genisoimage have option -udf. It produces UDF 1.02 metadata
in addition to ISO 9660, RockRidge, and Joliet metadata.
This is the UDF version prescribed for DVD video players.
Blu-ray UDF is specified to use UDF 2.50, which to my knowledge no
Linux tool can produce.

The Linux kernel has a driver for reading UDF and writing the random
read-write variant (version unknown to me). This is neither the format
expected by DVD or Blu-ray video players.
(You may create a large file, attach it to a loop device, put an empty
 UDF filesystem on it by mkfs, mount it, and populate it with files by
 normal Linux means like "cp". Unmount and burn to medium.
 But as said, that's neither what DVD nor what Blu-ray video wants.)


As we are it: 2 GiB is not a limit of ISO 9660 but rather of very old
Linux systems which used signed 32-bit integers to store file sizes.
Since we have no negative block numbers, 2 exp 31 - 1 = 2 GiB -1 is
the largest size that can be expressed that way.
This restriction is long gone by Large File Support on Linux.


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