summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/props.c
diff options
context:
space:
mode:
authorAnand Jain <anand.jain@oracle.com>2019-03-01 05:34:50 +0100
committerDavid Sterba <dsterba@suse.com>2019-04-29 19:02:19 +0200
commit262c96a3c3670bf2322b9a0c9d74e2a3d9e43be0 (patch)
treec56c41250ae7c6418481c3b5bb00a2f260e14001 /fs/btrfs/props.c
parentbtrfs: rename fs_info argument to fs_private (diff)
downloadlinux-262c96a3c3670bf2322b9a0c9d74e2a3d9e43be0.tar.xz
linux-262c96a3c3670bf2322b9a0c9d74e2a3d9e43be0.zip
btrfs: refactor btrfs_set_prop and add btrfs_set_prop_trans
btrfs_set_prop() takes transaction pointer as the first argument, however in ioctl.c for the purpose of setting the compression property, we call btrfs_set_prop() with NULL transaction pointer. Down in the call chain btrfs_setxattr() starts transaction to update the attribute and also to update the inode. So for clarity, create btrfs_set_prop_trans() with no transaction pointer as argument, in preparation to start transaction here instead of doing it down the call chain at btrfs_setxattr(). Also now the btrfs_set_prop() is a static function. 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/props.c')
-rw-r--r--fs/btrfs/props.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c
index c52cd78fea31..722ccf6bdd2b 100644
--- a/fs/btrfs/props.c
+++ b/fs/btrfs/props.c
@@ -55,9 +55,9 @@ find_prop_handler(const char *name,
return NULL;
}
-int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
- const char *name, const char *value, size_t value_len,
- int flags)
+static int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
+ const char *name, const char *value, size_t value_len,
+ int flags)
{
const struct prop_handler *handler;
int ret;
@@ -100,6 +100,12 @@ int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
return 0;
}
+int btrfs_set_prop_trans(struct inode *inode, const char *name,
+ const char *value, size_t value_len, int flags)
+{
+ return btrfs_set_prop(NULL, inode, name, value, value_len, flags);
+}
+
static int iterate_object_props(struct btrfs_root *root,
struct btrfs_path *path,
u64 objectid,