Comment 16 for bug 2044657

Revision history for this message
Chad Wagner (chad-wagner) wrote : Re: zfs block cloning file system corruption

Reproducible on Ubuntu 22.04 LTS w/ linux-hwe-6.2 (zfs-2.1.9) using the NixOS test suite:

[zhammer::647] checking 10000 files at iteration 0
[zhammer::647] zhammer_647_0 differed from zhammer_647_576!
[zhammer::647] Hexdump diff follows
--- zhammer_647_0.hex 2023-11-30 15:37:43.887596987 +0000
+++ zhammer_647_576.hex 2023-11-30 15:37:43.891596970 +0000
@@ -1,3 +1,3 @@
-00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
+00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
 *
 00004000
[zhammer::639] checking 10000 files at iteration 0
[zhammer::631] checking 10000 files at iteration 0
[zhammer::635] checking 10000 files at iteration 0
[zhammer::677] checking 10000 files at iteration 0
parallel: This job failed:
./zhammer-min.sh /test 10000000 16k 10000 7

The zhammer script is available at:
https://github.com/numinit/nixpkgs/blob/zhammer/nixos/tests/zhammer.sh

The bootstrap for it is to use a ramdisk backed file:
truncate -s 4G /dev/shm/zfs
zpool create -f -o ashift=12 -O canmount=off -O mountpoint=none -O xattr=sa -O dnodesize=auto -O acltype=posix -O atime=off -O relatime=on tank /dev/shm/zfs
zfs create -o canmount=on -o mountpoint=/test tank/test
parallel --lb --halt-on-error now,fail=1 zhammer /test 10000000 16k 10000 ::: $(seq $(nproc))