ZFS seems to not recognize data errors without doing a scrub.
Steps to reproduce:
- create a small partition (1GB)
- "zpool create -m /zfs zfspool /dev/..."
- create a 800MB testfile "dd if=/dev/zero of=/zfs/testfile bs=1M count=800"
- "shasum /zfs/testfile" -> checksum A
- change a byte somwhere in /dev/...
- empty caches "sync; echo 3 > /proc/sys/vm/drop_caches"
- "shasum /zfs/testfile" -> checksum B
- "zpool status" shows no errors
- checksums A and B differ, the file is corrupted without being noticed
- do "zpool scrub zfspool"
- "zpool status" shows the error
Version 2.0.2 has the same issue. According to another guy version 0.8.4 from
Ubuntu is not affected.