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>
 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;