Commit 1e2f67da authored by Anna Schumaker's avatar Anna Schumaker Committed by Trond Myklebust

NFS: Remove the nfs4_label argument from decode_getattr_*() functions

Wa can check if the fattr has an allocated label when needed
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent dd225cb3
...@@ -4585,8 +4585,7 @@ static int decode_attr_mdsthreshold(struct xdr_stream *xdr, ...@@ -4585,8 +4585,7 @@ static int decode_attr_mdsthreshold(struct xdr_stream *xdr,
static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap,
struct nfs_fattr *fattr, struct nfs_fh *fh, struct nfs_fattr *fattr, struct nfs_fh *fh,
struct nfs4_fs_locations *fs_loc, struct nfs4_label *label, struct nfs4_fs_locations *fs_loc, const struct nfs_server *server)
const struct nfs_server *server)
{ {
int status; int status;
umode_t fmode = 0; umode_t fmode = 0;
...@@ -4701,8 +4700,8 @@ static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, ...@@ -4701,8 +4700,8 @@ static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap,
if (status < 0) if (status < 0)
goto xdr_error; goto xdr_error;
if (label) { if (fattr->label) {
status = decode_attr_security_label(xdr, bitmap, label); status = decode_attr_security_label(xdr, bitmap, fattr->label);
if (status < 0) if (status < 0)
goto xdr_error; goto xdr_error;
fattr->valid |= status; fattr->valid |= status;
...@@ -4715,7 +4714,7 @@ static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, ...@@ -4715,7 +4714,7 @@ static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap,
static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr,
struct nfs_fh *fh, struct nfs4_fs_locations *fs_loc, struct nfs_fh *fh, struct nfs4_fs_locations *fs_loc,
struct nfs4_label *label, const struct nfs_server *server) const struct nfs_server *server)
{ {
unsigned int savep; unsigned int savep;
uint32_t attrlen, uint32_t attrlen,
...@@ -4734,8 +4733,7 @@ static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fat ...@@ -4734,8 +4733,7 @@ static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fat
if (status < 0) if (status < 0)
goto xdr_error; goto xdr_error;
status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, server);
label, server);
if (status < 0) if (status < 0)
goto xdr_error; goto xdr_error;
...@@ -4745,16 +4743,10 @@ static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fat ...@@ -4745,16 +4743,10 @@ static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fat
return status; return status;
} }
static int decode_getfattr_label(struct xdr_stream *xdr, struct nfs_fattr *fattr,
struct nfs4_label *label, const struct nfs_server *server)
{
return decode_getfattr_generic(xdr, fattr, NULL, NULL, label, server);
}
static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr,
const struct nfs_server *server) const struct nfs_server *server)
{ {
return decode_getfattr_generic(xdr, fattr, NULL, NULL, NULL, server); return decode_getfattr_generic(xdr, fattr, NULL, NULL, server);
} }
/* /*
...@@ -6171,7 +6163,7 @@ static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6171,7 +6163,7 @@ static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_getfh(xdr, res->fh); status = decode_getfh(xdr, res->fh);
if (status) if (status)
goto out; goto out;
status = decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); status = decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -6201,7 +6193,7 @@ static int nfs4_xdr_dec_lookupp(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6201,7 +6193,7 @@ static int nfs4_xdr_dec_lookupp(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_getfh(xdr, res->fh); status = decode_getfh(xdr, res->fh);
if (status) if (status)
goto out; goto out;
status = decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); status = decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -6228,8 +6220,7 @@ static int nfs4_xdr_dec_lookup_root(struct rpc_rqst *rqstp, ...@@ -6228,8 +6220,7 @@ static int nfs4_xdr_dec_lookup_root(struct rpc_rqst *rqstp,
goto out; goto out;
status = decode_getfh(xdr, res->fh); status = decode_getfh(xdr, res->fh);
if (status == 0) if (status == 0)
status = decode_getfattr_label(xdr, res->fattr, status = decode_getfattr(xdr, res->fattr, res->server);
res->fattr->label, res->server);
out: out:
return status; return status;
} }
...@@ -6323,7 +6314,7 @@ static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6323,7 +6314,7 @@ static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_restorefh(xdr); status = decode_restorefh(xdr);
if (status) if (status)
goto out; goto out;
decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -6353,7 +6344,7 @@ static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6353,7 +6344,7 @@ static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_getfh(xdr, res->fh); status = decode_getfh(xdr, res->fh);
if (status) if (status)
goto out; goto out;
decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -6386,7 +6377,7 @@ static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6386,7 +6377,7 @@ static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
status = decode_putfh(xdr); status = decode_putfh(xdr);
if (status) if (status)
goto out; goto out;
status = decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); status = decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -6524,7 +6515,7 @@ static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, ...@@ -6524,7 +6515,7 @@ static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
goto out; goto out;
if (res->access_request) if (res->access_request)
decode_access(xdr, &res->access_supported, &res->access_result); decode_access(xdr, &res->access_supported, &res->access_result);
decode_getfattr_label(xdr, res->f_attr, res->f_attr->label, res->server); decode_getfattr(xdr, res->f_attr, res->server);
if (res->lg_res) if (res->lg_res)
decode_layoutget(xdr, rqstp, res->lg_res); decode_layoutget(xdr, rqstp, res->lg_res);
out: out:
...@@ -6608,7 +6599,7 @@ static int nfs4_xdr_dec_setattr(struct rpc_rqst *rqstp, ...@@ -6608,7 +6599,7 @@ static int nfs4_xdr_dec_setattr(struct rpc_rqst *rqstp,
status = decode_setattr(xdr); status = decode_setattr(xdr);
if (status) if (status)
goto out; goto out;
decode_getfattr_label(xdr, res->fattr, res->fattr->label, res->server); decode_getfattr(xdr, res->fattr, res->server);
out: out:
return status; return status;
} }
...@@ -7023,7 +7014,7 @@ static int nfs4_xdr_dec_fs_locations(struct rpc_rqst *req, ...@@ -7023,7 +7014,7 @@ static int nfs4_xdr_dec_fs_locations(struct rpc_rqst *req,
status = decode_getfattr_generic(xdr, status = decode_getfattr_generic(xdr,
&res->fs_locations->fattr, &res->fs_locations->fattr,
NULL, res->fs_locations, NULL, res->fs_locations,
NULL, res->fs_locations->server); res->fs_locations->server);
if (status) if (status)
goto out; goto out;
if (res->renew) if (res->renew)
...@@ -7036,7 +7027,7 @@ static int nfs4_xdr_dec_fs_locations(struct rpc_rqst *req, ...@@ -7036,7 +7027,7 @@ static int nfs4_xdr_dec_fs_locations(struct rpc_rqst *req,
status = decode_getfattr_generic(xdr, status = decode_getfattr_generic(xdr,
&res->fs_locations->fattr, &res->fs_locations->fattr,
NULL, res->fs_locations, NULL, res->fs_locations,
NULL, res->fs_locations->server); res->fs_locations->server);
} }
out: out:
return status; return status;
...@@ -7467,7 +7458,7 @@ int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, ...@@ -7467,7 +7458,7 @@ int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry,
return -EAGAIN; return -EAGAIN;
if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh,
NULL, entry->fattr->label, entry->server) < 0) NULL, entry->server) < 0)
return -EAGAIN; return -EAGAIN;
if (entry->fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) if (entry->fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID)
entry->ino = entry->fattr->mounted_on_fileid; entry->ino = entry->fattr->mounted_on_fileid;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment