summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/ioctl.c12
-rw-r--r--fs/btrfs/props.c12
-rw-r--r--fs/btrfs/props.h5
-rw-r--r--fs/btrfs/xattr.c2
4 files changed, 18 insertions, 13 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index c1566787a146..4d945b3d88e3 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -284,8 +284,8 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
284 binode->flags &= ~BTRFS_INODE_COMPRESS; 284 binode->flags &= ~BTRFS_INODE_COMPRESS;
285 binode->flags |= BTRFS_INODE_NOCOMPRESS; 285 binode->flags |= BTRFS_INODE_NOCOMPRESS;
286 286
287 ret = btrfs_set_prop(NULL, inode, "btrfs.compression", NULL, 0, 287 ret = btrfs_set_prop_trans(inode, "btrfs.compression", NULL,
288 0); 288 0, 0);
289 if (ret && ret != -ENODATA) 289 if (ret && ret != -ENODATA)
290 goto out_drop; 290 goto out_drop;
291 } else if (fsflags & FS_COMPR_FL) { 291 } else if (fsflags & FS_COMPR_FL) {
@@ -303,14 +303,14 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
303 if (!comp || comp[0] == 0) 303 if (!comp || comp[0] == 0)
304 comp = btrfs_compress_type2str(BTRFS_COMPRESS_ZLIB); 304 comp = btrfs_compress_type2str(BTRFS_COMPRESS_ZLIB);
305 305
306 ret = btrfs_set_prop(NULL, inode, "btrfs.compression", comp, 306 ret = btrfs_set_prop_trans(inode, "btrfs.compression", comp,
307 strlen(comp), 0); 307 strlen(comp), 0);
308 if (ret) 308 if (ret)
309 goto out_drop; 309 goto out_drop;
310 310
311 } else { 311 } else {
312 ret = btrfs_set_prop(NULL, inode, "btrfs.compression", NULL, 0, 312 ret = btrfs_set_prop_trans(inode, "btrfs.compression", NULL,
313 0); 313 0, 0);
314 if (ret && ret != -ENODATA) 314 if (ret && ret != -ENODATA)
315 goto out_drop; 315 goto out_drop;
316 binode->flags &= ~(BTRFS_INODE_COMPRESS | BTRFS_INODE_NOCOMPRESS); 316 binode->flags &= ~(BTRFS_INODE_COMPRESS | BTRFS_INODE_NOCOMPRESS);
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,
55 return NULL; 55 return NULL;
56} 56}
57 57
58int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode, 58static int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
59 const char *name, const char *value, size_t value_len, 59 const char *name, const char *value, size_t value_len,
60 int flags) 60 int flags)
61{ 61{
62 const struct prop_handler *handler; 62 const struct prop_handler *handler;
63 int ret; 63 int ret;
@@ -100,6 +100,12 @@ int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
100 return 0; 100 return 0;
101} 101}
102 102
103int btrfs_set_prop_trans(struct inode *inode, const char *name,
104 const char *value, size_t value_len, int flags)
105{
106 return btrfs_set_prop(NULL, inode, name, value, value_len, flags);
107}
108
103static int iterate_object_props(struct btrfs_root *root, 109static int iterate_object_props(struct btrfs_root *root,
104 struct btrfs_path *path, 110 struct btrfs_path *path,
105 u64 objectid, 111 u64 objectid,
diff --git a/fs/btrfs/props.h b/fs/btrfs/props.h
index 9dbdae47cf27..b1a6b233b774 100644
--- a/fs/btrfs/props.h
+++ b/fs/btrfs/props.h
@@ -10,9 +10,8 @@
10 10
11void __init btrfs_props_init(void); 11void __init btrfs_props_init(void);
12 12
13int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode, 13int btrfs_set_prop_trans(struct inode *inode, const char *name,
14 const char *name, const char *value, size_t value_len, 14 const char *value, size_t value_len, int flags);
15 int flags);
16 15
17int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path); 16int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path);
18 17
diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
index 6971cbf286b5..69126d5b4d62 100644
--- a/fs/btrfs/xattr.c
+++ b/fs/btrfs/xattr.c
@@ -379,7 +379,7 @@ static int btrfs_xattr_handler_set_prop(const struct xattr_handler *handler,
379 size_t size, int flags) 379 size_t size, int flags)
380{ 380{
381 name = xattr_full_name(handler, name); 381 name = xattr_full_name(handler, name);
382 return btrfs_set_prop(NULL, inode, name, value, size, flags); 382 return btrfs_set_prop_trans(inode, name, value, size, flags);
383} 383}
384 384
385static const struct xattr_handler btrfs_security_xattr_handler = { 385static const struct xattr_handler btrfs_security_xattr_handler = {