[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Calculated and written ECMA-119 tree end differ" under very specifi
From: |
Thomas Schmitt |
Subject: |
Re: "Calculated and written ECMA-119 tree end differ" under very specific circumstances |
Date: |
Sun, 31 Jan 2021 15:41:21 +0100 |
Hi,
i can reproduce the problem with most modern xorriso. (Grrrr.)
For now there is no need for you to invest more time.
Have my preliminary thanks. I'll report when i have found the cause and
a fix.
It suffices to have enough files with large xattr of any kind.
The files must have some well compressible KiB to lure zisofs.
mkdir test_dir
cd test_dir
for i in $(seq -w 0 99)
do
n=050001"$i"
dd if=/dev/zero bs=1024 count=10 of="$n" 2>/dev/null
setfattr -n user.nfs_acl -v
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
"$n"
done
xorriso -for_backup -outdev test.iso \
-map . /a \
-find / -type f -pending_data -exec set_filter --zisofs --
yields
libisofs: WARNING : Calculated and written ECMA-119 tree end differ: 74 <> 75
Now i have to find the actual bug, fix libisofs, and produce
GNU xorriso-1.5.4.pl01 ... grrrr again. I missed the bug by half a day.
-----------------------------------------------------------------------
File foo3-151k.iso which you sent shows that the length of the directory
record list is underestimated, so that already the SUSP Continuation
Area of the directory is written one block higher than expected (63 rather
than 62). This mistake propagates through the rest of the ISO image.
The ISO file is reported empty, because xorriso aborted before the default
superblock was written. The session superblock at offset 32 exists, but
xorriso does not accept an ISO from overwritable medium which has no
superblock at offset 0.
This mount run would seem to succeed and let you view the file names
in /mnt/iso/a:
mount -o sbsector=16 foo3.iso /mnt/iso
But the file content is misplaced by one block. Directory trees with more
complicated structure will probably cause i/o errors or show weird names
already on "ls -l".
-----------------------------------------------------------------------
Have a nice day :)
Thomas