diff options
author | J. Bruce Fields <bfields@redhat.com> | 2014-06-24 23:51:21 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-07-08 23:14:27 +0200 |
commit | bcaab953b1d3790c724a211f2452b574fd49a7ce (patch) | |
tree | 27ca81379f29efdf4267337da9434a3eeabdae31 /fs/nfsd/nfs4acl.c | |
parent | nfsd4: define svcxdr_dupstr to share some common code (diff) | |
download | linux-bcaab953b1d3790c724a211f2452b574fd49a7ce.tar.xz linux-bcaab953b1d3790c724a211f2452b574fd49a7ce.zip |
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>
Diffstat (limited to 'fs/nfsd/nfs4acl.c')
-rw-r--r-- | fs/nfsd/nfs4acl.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c index b0cf00d3ee7d..acf6974e6823 100644 --- a/fs/nfsd/nfs4acl.c +++ b/fs/nfsd/nfs4acl.c @@ -161,11 +161,12 @@ nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry, size += 2 * dpacl->a_count; } - *acl = nfs4_acl_new(size); + *acl = kmalloc(nfs4_acl_bytes(size), GFP_KERNEL); if (*acl == NULL) { error = -ENOMEM; goto out; } + (*acl)->naces = 0; _posix_to_nfsv4_one(pacl, *acl, flags & ~NFS4_ACL_TYPE_DEFAULT); @@ -872,16 +873,13 @@ ace2type(struct nfs4_ace *ace) 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; - - acl = kmalloc(sizeof(*acl) + n*sizeof(struct nfs4_ace), GFP_KERNEL); - if (acl == NULL) - return NULL; - acl->naces = 0; - return acl; + return sizeof(struct nfs4_acl) + entries * sizeof(struct nfs4_ace); } static struct { |