nfsd4: remove nfs4_acl_new
This is a not-that-useful kmalloc wrapper. And I'd like one of the callers to actually use something other than kmalloc. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
29c353b3fe
commit
bcaab953b1
|
@ -47,7 +47,7 @@ struct svc_rqst;
|
||||||
#define NFS4_ACL_MAX ((PAGE_SIZE - sizeof(struct nfs4_acl)) \
|
#define NFS4_ACL_MAX ((PAGE_SIZE - sizeof(struct nfs4_acl)) \
|
||||||
/ sizeof(struct nfs4_ace))
|
/ sizeof(struct nfs4_ace))
|
||||||
|
|
||||||
struct nfs4_acl *nfs4_acl_new(int);
|
int nfs4_acl_bytes(int entries);
|
||||||
int nfs4_acl_get_whotype(char *, u32);
|
int nfs4_acl_get_whotype(char *, u32);
|
||||||
__be32 nfs4_acl_write_who(struct xdr_stream *xdr, int who);
|
__be32 nfs4_acl_write_who(struct xdr_stream *xdr, int who);
|
||||||
|
|
||||||
|
|
|
@ -161,11 +161,12 @@ nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry,
|
||||||
size += 2 * dpacl->a_count;
|
size += 2 * dpacl->a_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
*acl = nfs4_acl_new(size);
|
*acl = kmalloc(nfs4_acl_bytes(size), GFP_KERNEL);
|
||||||
if (*acl == NULL) {
|
if (*acl == NULL) {
|
||||||
error = -ENOMEM;
|
error = -ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
(*acl)->naces = 0;
|
||||||
|
|
||||||
_posix_to_nfsv4_one(pacl, *acl, flags & ~NFS4_ACL_TYPE_DEFAULT);
|
_posix_to_nfsv4_one(pacl, *acl, flags & ~NFS4_ACL_TYPE_DEFAULT);
|
||||||
|
|
||||||
|
@ -872,16 +873,13 @@ ace2type(struct nfs4_ace *ace)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct nfs4_acl *
|
/*
|
||||||
nfs4_acl_new(int n)
|
* return the size of the struct nfs4_acl required to represent an acl
|
||||||
|
* with @entries entries.
|
||||||
|
*/
|
||||||
|
int nfs4_acl_bytes(int entries)
|
||||||
{
|
{
|
||||||
struct nfs4_acl *acl;
|
return sizeof(struct nfs4_acl) + entries * sizeof(struct nfs4_ace);
|
||||||
|
|
||||||
acl = kmalloc(sizeof(*acl) + n*sizeof(struct nfs4_ace), GFP_KERNEL);
|
|
||||||
if (acl == NULL)
|
|
||||||
return NULL;
|
|
||||||
acl->naces = 0;
|
|
||||||
return acl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
|
|
|
@ -309,7 +309,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
|
||||||
if (nace > NFS4_ACL_MAX)
|
if (nace > NFS4_ACL_MAX)
|
||||||
return nfserr_fbig;
|
return nfserr_fbig;
|
||||||
|
|
||||||
*acl = nfs4_acl_new(nace);
|
*acl = kmalloc(nfs4_acl_bytes(nace), GFP_KERNEL);
|
||||||
if (*acl == NULL)
|
if (*acl == NULL)
|
||||||
return nfserr_jukebox;
|
return nfserr_jukebox;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue