When initializing Kudu, will check if the file system supports punch hole. Kudu will create a test file when initailizing and do puch hole, and check if the file's size is what we'd expect.
However, kudu use 4k offset to test punch hole. On xfs, kudu use XFS_IOC_UNRESVSP64 to do punch hole, if block_size > 4k, XFS_IOC_UNRESVSP64 will just make the first filesystem block partially zeroed, and don't remove the first block from the file, so that the puch hole check will fail because the file's size isn't what we'd expect.
Asked
Active
Viewed 8 times
0

chenhehe
- 75
- 5