aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2010-10-23 15:43:10 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-10-23 15:43:10 -0400
commit3201f3dd7370f2d29dfb689ae16f8f5d4066cc33 (patch)
tree345fecf8fe25d069af5a7484028f23b5efcdf58b /fs
parent7ad07353003d6ff69fe0b987813bb77b4d5ac23d (diff)
NFSv4: Fix a regression in decode_getfattr
We don't want to have the mounted_on_fileid overwrite the true fileid. We only return the former if the server didn't supply the true fileid. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/nfs4xdr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index a6b00e84bd1a..707975eebb5d 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -3912,7 +3912,7 @@ static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap,
3912 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fileid); 3912 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fileid);
3913 if (status < 0) 3913 if (status < 0)
3914 goto xdr_error; 3914 goto xdr_error;
3915 if (status != 0) { 3915 if (status != 0 && !(fattr->valid & status)) {
3916 fattr->fileid = fileid; 3916 fattr->fileid = fileid;
3917 fattr->valid |= status; 3917 fattr->valid |= status;
3918 } 3918 }