We recently saw a case where a cluster was using XFS with the 'largeio' mount option. This caused files on the drive to report a 4MB block size, even though the actual file system block size was the default 4kb. This caused the LBM to align all blocks up to 4MB and cause an enormous amount of wasted space.
Instead of using the file's block size we should probably use statvfs() which reports the correct block size. Alternatively we could consider actually running a basic hole-punch test to determine the granularity of hole punches.
Fixing this in a compatible way may also be a bit involved since changing the apparent block size of a system after the instance has been formatted will prevent it from starting.