libcdio-devel
[Top][All Lists]
Advanced

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

Re: [Libcdio-devel] [RFC] New API iso9660_statv2_t as API/ABI compatible


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] [RFC] New API iso9660_statv2_t as API/ABI compatible way to read files >= 4 GiB
Date: Fri, 13 Jul 2018 12:00:14 +0200

Hi,

something to laugh for Pete, and to moan for Linux users:

The handling of multiextent files with unaligned extent sizes is
obviously broken in the Linux kernel. At least in versions 3.16 and 4.12.


I changed in my test ISO image  multi_extent_8k.iso  the size field
of the fifth directory record of the data file from 8192 to 7936.
This leaves a gap of 256 bytes to the start of the sixth extent.

Where libisofs and libcdio branch ts-multiextent skip only 256 bytes,
the Linux kernel skips more and in the end adds 1792 zero-bytes to get
to the correct file length.

The difference begins at byte 38912 = 19 * 2048. So four extents are
presented correctly, but the incomplete last block in the manipulated
extent is ignored completely by Linux.
This leads in the end to the presentation of 1792 = 2048 - 256 bytes which
do not belong to the payload of the file.

(I really would like to quit this second-class operating system if i
 only knew any first-class one.)


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]