gfs2: using posix_acl_xattr_size instead of posix_acl_to_xattr
authorChengguang Xu <cgxu519@gmx.com>
Fri, 22 Jun 2018 01:51:43 +0000 (09:51 +0800)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 24 Jul 2018 18:02:11 +0000 (20:02 +0200)
It seems better to get size by calling posix_acl_xattr_size() instead of
calling posix_acl_to_xattr() with NULL buffer argument.

posix_acl_xattr_size() never returns 0, so remove the unnecessary check.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/acl.c

index 776717f1eeea440cfe5897712e23139dfa1f99f3..af5f87a493d9b6043fa8ef14a38a0f3e6784a979 100644 (file)
@@ -82,14 +82,12 @@ struct posix_acl *gfs2_get_acl(struct inode *inode, int type)
 int __gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
 {
        int error;
-       int len;
+       size_t len;
        char *data;
        const char *name = gfs2_acl_name(type);
 
        if (acl) {
-               len = posix_acl_to_xattr(&init_user_ns, acl, NULL, 0);
-               if (len == 0)
-                       return 0;
+               len = posix_acl_xattr_size(acl->a_count);
                data = kmalloc(len, GFP_NOFS);
                if (data == NULL)
                        return -ENOMEM;