I am using ZFS on linux and I am confused on why the actual disk usage of files (as reported by 'du') seems so all over the place.
I created a pool called 'vault' on a hardware Dell PERC RAID (just /dev/sdb) taking all defaults except autoexpand 'on'
I then created a volume on it using
-o reserv=2040G -o quota=2040G -o recsize=4k -o acltype=posixacl
I then rsync'ed a ext4 volume over to it. For example on this volume there are two data files (Matlab *.mat files) that are 13104 and 11264 bytes in size. On the ext4 file system du on these files says 16K and 12K respectively corresponding to the 4K block size. Any <4K file will always say 4K from du.
In contrast on ZFS a du on these two files shows 25K and 21K respectively while on one 1 byte file I get 4.5K. The extra .5K on the later is not too alarming due to various metadata usage I guess. Some other <4K files I have run du on though come back exactly 4K. Most confusing is why are the du's on the *.mat files nearly twice the "real" data size?