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