diff options
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/ctree.c | 5 | ||||
-rw-r--r-- | fs/btrfs/extent-tree.c | 1 | ||||
-rw-r--r-- | fs/btrfs/inode.c | 2 |
3 files changed, 2 insertions, 6 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 618e526c9046..1c3d9d6fbdad 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c | |||
@@ -751,7 +751,6 @@ static int balance_level(struct btrfs_trans_handle *trans, | |||
751 | add_root_to_dirty_list(root); | 751 | add_root_to_dirty_list(root); |
752 | path->nodes[level] = NULL; | 752 | path->nodes[level] = NULL; |
753 | clean_tree_block(trans, root, mid); | 753 | clean_tree_block(trans, root, mid); |
754 | wait_on_tree_block_writeback(root, mid); | ||
755 | /* once for the path */ | 754 | /* once for the path */ |
756 | free_extent_buffer(mid); | 755 | free_extent_buffer(mid); |
757 | ret = btrfs_free_extent(trans, root, mid->start, mid->len, | 756 | ret = btrfs_free_extent(trans, root, mid->start, mid->len, |
@@ -810,7 +809,6 @@ static int balance_level(struct btrfs_trans_handle *trans, | |||
810 | u32 blocksize = right->len; | 809 | u32 blocksize = right->len; |
811 | 810 | ||
812 | clean_tree_block(trans, root, right); | 811 | clean_tree_block(trans, root, right); |
813 | wait_on_tree_block_writeback(root, right); | ||
814 | free_extent_buffer(right); | 812 | free_extent_buffer(right); |
815 | right = NULL; | 813 | right = NULL; |
816 | wret = del_ptr(trans, root, path, level + 1, pslot + | 814 | wret = del_ptr(trans, root, path, level + 1, pslot + |
@@ -854,7 +852,6 @@ static int balance_level(struct btrfs_trans_handle *trans, | |||
854 | u64 bytenr = mid->start; | 852 | u64 bytenr = mid->start; |
855 | u32 blocksize = mid->len; | 853 | u32 blocksize = mid->len; |
856 | clean_tree_block(trans, root, mid); | 854 | clean_tree_block(trans, root, mid); |
857 | wait_on_tree_block_writeback(root, mid); | ||
858 | free_extent_buffer(mid); | 855 | free_extent_buffer(mid); |
859 | mid = NULL; | 856 | mid = NULL; |
860 | wret = del_ptr(trans, root, path, level + 1, pslot); | 857 | wret = del_ptr(trans, root, path, level + 1, pslot); |
@@ -2638,7 +2635,6 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root, | |||
2638 | } else { | 2635 | } else { |
2639 | u64 root_gen = btrfs_header_generation(path->nodes[1]); | 2636 | u64 root_gen = btrfs_header_generation(path->nodes[1]); |
2640 | clean_tree_block(trans, root, leaf); | 2637 | clean_tree_block(trans, root, leaf); |
2641 | wait_on_tree_block_writeback(root, leaf); | ||
2642 | wret = del_ptr(trans, root, path, 1, path->slots[1]); | 2638 | wret = del_ptr(trans, root, path, 1, path->slots[1]); |
2643 | if (wret) | 2639 | if (wret) |
2644 | ret = wret; | 2640 | ret = wret; |
@@ -2690,7 +2686,6 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root, | |||
2690 | path->nodes[1]); | 2686 | path->nodes[1]); |
2691 | 2687 | ||
2692 | clean_tree_block(trans, root, leaf); | 2688 | clean_tree_block(trans, root, leaf); |
2693 | wait_on_tree_block_writeback(root, leaf); | ||
2694 | 2689 | ||
2695 | wret = del_ptr(trans, root, path, 1, slot); | 2690 | wret = del_ptr(trans, root, path, 1, slot); |
2696 | if (wret) | 2691 | if (wret) |
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 4e5bd62e6e1a..76fd5d7146e1 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -1887,7 +1887,6 @@ struct extent_buffer *__btrfs_alloc_free_block(struct btrfs_trans_handle *trans, | |||
1887 | } | 1887 | } |
1888 | btrfs_set_header_generation(buf, trans->transid); | 1888 | btrfs_set_header_generation(buf, trans->transid); |
1889 | clean_tree_block(trans, root, buf); | 1889 | clean_tree_block(trans, root, buf); |
1890 | wait_on_tree_block_writeback(root, buf); | ||
1891 | btrfs_set_buffer_uptodate(buf); | 1890 | btrfs_set_buffer_uptodate(buf); |
1892 | 1891 | ||
1893 | if (PageDirty(buf->first_page)) { | 1892 | if (PageDirty(buf->first_page)) { |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 3e1f21c632c1..5632ea760077 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -383,9 +383,11 @@ int btrfs_readpage_io_hook(struct page *page, u64 start, u64 end) | |||
383 | struct btrfs_csum_item *item; | 383 | struct btrfs_csum_item *item; |
384 | struct btrfs_path *path = NULL; | 384 | struct btrfs_path *path = NULL; |
385 | u32 csum; | 385 | u32 csum; |
386 | |||
386 | if (btrfs_test_opt(root, NODATASUM) || | 387 | if (btrfs_test_opt(root, NODATASUM) || |
387 | btrfs_test_flag(inode, NODATASUM)) | 388 | btrfs_test_flag(inode, NODATASUM)) |
388 | return 0; | 389 | return 0; |
390 | |||
389 | mutex_lock(&root->fs_info->fs_mutex); | 391 | mutex_lock(&root->fs_info->fs_mutex); |
390 | path = btrfs_alloc_path(); | 392 | path = btrfs_alloc_path(); |
391 | item = btrfs_lookup_csum(NULL, root, path, inode->i_ino, start, 0); | 393 | item = btrfs_lookup_csum(NULL, root, path, inode->i_ino, start, 0); |