From: Trond Myklebust Date: Sat, 23 Oct 2010 19:43:10 +0000 (-0400) Subject: NFSv4: Fix a regression in decode_getfattr X-Git-Tag: v2.6.37-rc1~120^2~8 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=3201f3dd7370f2d29dfb689ae16f8f5d4066cc33;p=~shefty%2Frdma-dev.git 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 --- diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index a6b00e84bd1..707975eebb5 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, status = decode_attr_mounted_on_fileid(xdr, bitmap, &fileid); if (status < 0) goto xdr_error; - if (status != 0) { + if (status != 0 && !(fattr->valid & status)) { fattr->fileid = fileid; fattr->valid |= status; }