btrfs_setxattr_trans() is called by 5 threads as below and all of them are
write based threads, which won't run for a readonly root. So its ok to
remove the readonly root check here.

1.
__btrfs_set_acl()
btrfs_init_acl()
btrfs_init_inode_security()

2.
__btrfs_set_acl()
btrfs_set_acl()

3.
btrfs_set_prop()
btrfs_set_prop_trans()
  /                   \
btrfs_ioctl_setflags()   btrfs_xattr_handler_set_prop()

4.
btrfs_xattr_handler_set()

5.
btrfs_initxattrs()
btrfs_xattr_security_init()
btrfs_init_inode_security()

Signed-off-by: Anand Jain <anand.j...@oracle.com>
---
 fs/btrfs/xattr.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
index b2b68676ec52..4c447b1f32e5 100644
--- a/fs/btrfs/xattr.c
+++ b/fs/btrfs/xattr.c
@@ -226,9 +226,6 @@ int btrfs_setxattr_trans(struct btrfs_trans_handle *trans,
        struct btrfs_root *root = BTRFS_I(inode)->root;
        int ret;
 
-       if (btrfs_root_readonly(root))
-               return -EROFS;
-
        if (trans)
                return btrfs_setxattr(trans, inode, name, value, size, flags);
 
-- 
2.17.1

Reply via email to