diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 5b8f71aeccc9d42f3577a48eea266f6548d67237..c9f85c412b23e56e45708a2a127d1cb1bd6d3f28 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1278,9 +1278,8 @@ static noinline int commit_cowonly_roots(struct btrfs_trans_handle *trans) root = list_entry(next, struct btrfs_root, dirty_list); clear_bit(BTRFS_ROOT_DIRTY, &root->state); - if (root != fs_info->extent_root) - list_add_tail(&root->dirty_list, - &trans->transaction->switch_commits); + list_add_tail(&root->dirty_list, + &trans->transaction->switch_commits); ret = update_cowonly_root(trans, root); if (ret) return ret; @@ -1310,9 +1309,6 @@ static noinline int commit_cowonly_roots(struct btrfs_trans_handle *trans) if (!list_empty(&fs_info->dirty_cowonly_roots)) goto again; - list_add_tail(&fs_info->extent_root->dirty_list, - &trans->transaction->switch_commits); - /* Update dev-replace pointer once everything is committed */ fs_info->dev_replace.committed_cursor_left = fs_info->dev_replace.cursor_left_last_write_of_item;