On 11/05/2013 04:40 AM, Christoph Hellwig wrote: >> +{ >> + int error, mode = 0; >> + >> + if (allocated == false) >> + mode = FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE; >> + >> + error = do_fallocate(file, mode, offset, len); >> + if (error == 0) >> + error = vfs_fsync_range(file, offset, offset + len, 0); >> + return nfserrno(error); > > Same problem with the falloc vs WRITE_PLUS mismatch here. For XFS you > could make the allocated case all XFS_IOC_ZERO_RANGE, but the proposed > VFS equivalent never seemed to have made it in. > > Also no need for the FALLOC_FL_KEEP_SIZE in the hole punch case, it is > ignored. > It's not ignored in do_fallocate() (fs/open.c) where it returns -EOPNOTSUPP if FALLOC_FL_PUNCH_HOLE is set without FALLOC_FL_KEEP_SIZE :) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html