]> git.hungrycats.org Git - linux/commitdiff
Revert "Btrfs: prepare block group cache before writing"
authorZygo Blaxell <zblaxell@serenity.furryterror.org>
Fri, 17 Apr 2015 16:12:08 +0000 (12:12 -0400)
committerZygo Blaxell <zblaxell@serenity.furryterror.org>
Fri, 17 Apr 2015 16:12:08 +0000 (12:12 -0400)
This reverts commit 6272a918e8c8176312015598e99e67559dbfbb44.

fs/btrfs/ctree.h
fs/btrfs/extent-tree.c
fs/btrfs/transaction.c

index ee96d65e2465c4efe68e70563e31d12380fae8cc..57c080732f2cc146e9513bb3bc7672c5d2bbd53e 100644 (file)
@@ -3338,8 +3338,6 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
 
 int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans,
                                    struct btrfs_root *root);
-int btrfs_setup_space_cache(struct btrfs_trans_handle *trans,
-                           struct btrfs_root *root);
 int btrfs_extent_readonly(struct btrfs_root *root, u64 bytenr);
 int btrfs_free_block_groups(struct btrfs_fs_info *info);
 int btrfs_read_block_groups(struct btrfs_root *root);
index 3044819050001efac34dd675df0ff95c9fdf90c5..83202df0d02267c2dc3e8e0e111d24ae90f5b187 100644 (file)
@@ -3311,32 +3311,6 @@ out:
        return ret;
 }
 
-int btrfs_setup_space_cache(struct btrfs_trans_handle *trans,
-                           struct btrfs_root *root)
-{
-       struct btrfs_block_group_cache *cache, *tmp;
-       struct btrfs_transaction *cur_trans = trans->transaction;
-       struct btrfs_path *path;
-
-       if (list_empty(&cur_trans->dirty_bgs) ||
-           !btrfs_test_opt(root, SPACE_CACHE))
-               return 0;
-
-       path = btrfs_alloc_path();
-       if (!path)
-               return -ENOMEM;
-
-       /* Could add new block groups, use _safe just in case */
-       list_for_each_entry_safe(cache, tmp, &cur_trans->dirty_bgs,
-                                dirty_list) {
-               if (cache->disk_cache_state == BTRFS_DC_CLEAR)
-                       cache_save_setup(cache, trans, path);
-       }
-
-       btrfs_free_path(path);
-       return 0;
-}
-
 int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans,
                                   struct btrfs_root *root)
 {
index cec9ac34ddce2b1a9e00373e0d8fa8d2d97e1269..226eca7c830a5da26cf8a5bf2fe9a699ab565d23 100644 (file)
@@ -960,6 +960,7 @@ static int update_cowonly_root(struct btrfs_trans_handle *trans,
        struct btrfs_root *tree_root = root->fs_info->tree_root;
 
        old_root_used = btrfs_root_used(&root->root_item);
+       btrfs_write_dirty_block_groups(trans, root);
 
        while (1) {
                old_root_bytenr = btrfs_root_bytenr(&root->root_item);
@@ -1023,10 +1024,6 @@ static noinline int commit_cowonly_roots(struct btrfs_trans_handle *trans,
        if (ret)
                return ret;
 
-       ret = btrfs_setup_space_cache(trans, root);
-       if (ret)
-               return ret;
-
        /* run_qgroups might have added some more refs */
        ret = btrfs_run_delayed_refs(trans, root, (unsigned long)-1);
        if (ret)