Regarding unwritten extents, I had a doubt regarding that*. However, after discussing with XFS developers, I understood that since unwritten extents became default years ago, the performance impact in converting unwritten extents to written one are negligible now, far outweighed by benefits of fallocate and, of course, better than writing zeroes. Regarding fallocate, I went with fallocate instead of the posix variant because posix_fallocate fallsback to old legacy behavior on unsupported systems silently which may not be desirable. * The doubt was I wanted to test XFS specific ioctls like XFS_IOC_RESVSP64, XFS_IOC_ZERO_RANGE, but their usage was not encouraged since fallocate provided a better interface and more stable api. (and fallocate internally calls these) I also asked about this (in xfsctl man page) " If the XFS filesystem is configured to flag unwritten file extents, performance will be negatively affected when writing to preallocated space, since extra filesystem transactions are required to convert extent flags on the range of the file written." -- seems this statement no longer applies and will be removed. * On Mon, Nov 21, 2011 at 09:21:31AM -0000, Stewart Smith