> +{ > + 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. -- 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