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

Re: Are there still machines with PAGE_SHIFT 16 or larger ?



Hi,

after some confusion i found out that the endianness bug was fixed
unnoticed a few weeks ago, when i implemented zisofs version 2. The
current GNU xorriso development tarball has it already fixed.
  https://www.gnu.org/software/xorriso/xorriso-1.5.3.tar.gz


Anatoly Pugachev wrote:
> copied (freshly generated) test.iso from x86_64 VM to ppc64 host:
> [...]
> works.

In the light of my kernel code inspection it might be that the test
file was too redundant and hides a problem.
The other problem i see needs aligned 32 KiB chunks of zeros.

This file should be compressible and sensitive to smaller glitches:

  dd if=/dev/urandom bs=1K count=161 | od -t x1 | \
    sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1 \
    >/tmp/full_random

Result:
  -rw-r--r-- 1 thomas thomas 329728 Nov 11 20:49 /tmp/full_random

This file consists by half of aligned 32 KiB zero blocks:

  for i in {0..1}
  do
    dd if=/dev/urandom bs=1K count=16 | od -t x1 | \
      sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1
    dd if=/dev/zero bs=64K count=1
    dd if=/dev/urandom bs=1K count=16 | od -t x1 | \
      sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1
  done 2>/dev/null >/tmp/half_sparse

Result:
  -rw-r--r-- 1 thomas thomas 262144 Nov 11 20:49 /tmp/half_sparse

On a little-endian machine or with xorriso-1.5.3 pack up test2.iso:

  xorriso -outdev /tmp/test2.iso \
          -map /tmp/half_sparse /half_sparse \
          -map /tmp/full_random /full_random \
          -zisofs block_size=32k \
          -set_filter_r --zisofs / -- \
          -padding 0 -compliance no_emul_toc

According to the higher information content the ISO is larger:
  -rw-r--r-- 1 thomas thomas 339968 Nov 11 20:50 /tmp/test2.iso

On PAGE_SIZE <= 32 KiB i expect the MD5 sums to match:

  md5sum /tmp/half_sparse /mnt/iso/half_sparse

  md5sum /tmp/full_random /mnt/iso/full_random

At least "half_sparse" should come out wrong on PAGE_SIZE >= 64 KiB.


Have a nice day :)

Thomas


Reply to: