aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/free-space-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/free-space-tree.c')
-rw-r--r--fs/btrfs/free-space-tree.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/btrfs/free-space-tree.c b/fs/btrfs/free-space-tree.c
index 393e36bd5845..94e887f5ec4e 100644
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -23,6 +23,7 @@
23#include "locking.h" 23#include "locking.h"
24#include "free-space-tree.h" 24#include "free-space-tree.h"
25#include "transaction.h" 25#include "transaction.h"
26#include "sysfs.h"
26 27
27static int __add_block_group_free_space(struct btrfs_trans_handle *trans, 28static int __add_block_group_free_space(struct btrfs_trans_handle *trans,
28 struct btrfs_fs_info *fs_info, 29 struct btrfs_fs_info *fs_info,
@@ -1169,6 +1170,9 @@ int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info)
1169 } 1170 }
1170 1171
1171 btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE); 1172 btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE);
1173 btrfs_sysfs_feature_update(fs_info,
1174 BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE, FEAT_COMPAT_RO);
1175
1172 fs_info->creating_free_space_tree = 0; 1176 fs_info->creating_free_space_tree = 0;
1173 1177
1174 ret = btrfs_commit_transaction(trans, tree_root); 1178 ret = btrfs_commit_transaction(trans, tree_root);
@@ -1237,6 +1241,9 @@ int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info)
1237 return PTR_ERR(trans); 1241 return PTR_ERR(trans);
1238 1242
1239 btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE); 1243 btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE);
1244 btrfs_sysfs_feature_update(fs_info,
1245 BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE, FEAT_COMPAT_RO);
1246
1240 fs_info->free_space_root = NULL; 1247 fs_info->free_space_root = NULL;
1241 1248
1242 ret = clear_free_space_tree(trans, free_space_root); 1249 ret = clear_free_space_tree(trans, free_space_root);