From: Chengguang Xu <cgxu...@gmx.com>

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 <cgxu...@gmx.com>
Signed-off-by: Andreas Gruenbacher <agrue...@redhat.com>
---
 fs/gfs2/acl.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index 776717f1eeea..af5f87a493d9 100644
--- a/fs/gfs2/acl.c
+++ b/fs/gfs2/acl.c
@@ -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;
-- 
2.17.1

Reply via email to