From: Trond Myklebust Date: Fri, 5 Sep 2025 16:11:17 +0000 (-0400) Subject: NFSv4.2: Serialise O_DIRECT i/o and fallocate() X-Git-Tag: v6.17-rc6~23^2~7 X-Git-Url: https://gentwo.org/gitweb/?a=commitdiff_plain;h=b93128f29733af5d427a335978a19884c2c230e2;p=linux%2F.git NFSv4.2: Serialise O_DIRECT i/o and fallocate() Ensure that all O_DIRECT reads and writes complete before calling fallocate so that we don't race w.r.t. attribute updates. Fixes: 99f237832243 ("NFSv4.2: Always flush out writes in nfs42_proc_fallocate()") Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c index e2fea37c5348..1a169372ca16 100644 --- a/fs/nfs/nfs42proc.c +++ b/fs/nfs/nfs42proc.c @@ -114,6 +114,7 @@ static int nfs42_proc_fallocate(struct rpc_message *msg, struct file *filep, exception.inode = inode; exception.state = lock->open_context->state; + nfs_file_block_o_direct(NFS_I(inode)); err = nfs_sync_inode(inode); if (err) goto out;