From: Nadav Shemer Date: Sun, 21 Jul 2013 14:21:43 +0000 (+0300) Subject: nfs: fix open(O_RDONLY|O_TRUNC) in NFS4.0 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cc7936f9ad085351bc2ccb403c403392e1337050;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git nfs: fix open(O_RDONLY|O_TRUNC) in NFS4.0 nfs4_proc_setattr removes ATTR_OPEN from sattr->ia_valid, but later nfs4_do_setattr checks for it Signed-off-by: Nadav Shemer Reviewed-by: Jeff Layton Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index cf11799297c4..1bf291f03c61 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2940,10 +2940,10 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr, /* Deal with open(O_TRUNC) */ if (sattr->ia_valid & ATTR_OPEN) - sattr->ia_valid &= ~(ATTR_MTIME|ATTR_CTIME|ATTR_OPEN); + sattr->ia_valid &= ~(ATTR_MTIME|ATTR_CTIME); /* Optimization: if the end result is no change, don't RPC */ - if ((sattr->ia_valid & ~(ATTR_FILE)) == 0) + if ((sattr->ia_valid & ~(ATTR_FILE|ATTR_OPEN)) == 0) return 0; /* Search for an existing open(O_WRITE) file */