diff options
author | Anand Jain <anand.jain@oracle.com> | 2019-04-12 16:02:58 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-04-29 19:02:44 +0200 |
commit | 04e6863b19c72279bcbeffa26d85d649ab9c8205 (patch) | |
tree | 9b8c3dead2ef66371726b7b16a155d2903ff3218 /fs/btrfs/xattr.c | |
parent | 353c2ea735e4b54fb6250861e67b51b1bcb47198 (diff) |
btrfs: split btrfs_setxattr calls regarding transaction
When the caller has already created the transaction handle,
btrfs_setxattr() will use it. Also adds assert in btrfs_setxattr().
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/xattr.c')
-rw-r--r-- | fs/btrfs/xattr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c index 4c447b1f32e5..623d508f21a6 100644 --- a/fs/btrfs/xattr.c +++ b/fs/btrfs/xattr.c @@ -86,6 +86,8 @@ int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode, size_t name_len = strlen(name); int ret = 0; + ASSERT(trans); + if (name_len + size > BTRFS_MAX_XATTR_SIZE(root->fs_info)) return -ENOSPC; @@ -437,8 +439,8 @@ static int btrfs_initxattrs(struct inode *inode, } strcpy(name, XATTR_SECURITY_PREFIX); strcpy(name + XATTR_SECURITY_PREFIX_LEN, xattr->name); - err = btrfs_setxattr_trans(trans, inode, name, xattr->value, - xattr->value_len, 0); + err = btrfs_setxattr(trans, inode, name, xattr->value, + xattr->value_len, 0); kfree(name); if (err < 0) break; |