Loading fs/btrfs/disk-io.c +1 −1 Original line number Diff line number Diff line Loading @@ -4357,7 +4357,7 @@ static int btrfs_destroy_marked_extents(struct btrfs_root *root, if (ret) break; clear_extent_bits(dirty_pages, start, end, mark, GFP_NOFS); clear_extent_bits(dirty_pages, start, end, mark); while (start <= end) { eb = btrfs_find_tree_block(root->fs_info, start); start += root->nodesize; Loading fs/btrfs/extent-tree.c +4 −4 Original line number Diff line number Diff line Loading @@ -246,9 +246,9 @@ static void free_excluded_extents(struct btrfs_root *root, end = start + cache->key.offset - 1; clear_extent_bits(&root->fs_info->freed_extents[0], start, end, EXTENT_UPTODATE, GFP_NOFS); start, end, EXTENT_UPTODATE); clear_extent_bits(&root->fs_info->freed_extents[1], start, end, EXTENT_UPTODATE, GFP_NOFS); start, end, EXTENT_UPTODATE); } static int exclude_super_stripes(struct btrfs_root *root, Loading Loading @@ -10526,14 +10526,14 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info) */ mutex_lock(&fs_info->unused_bg_unpin_mutex); ret = clear_extent_bits(&fs_info->freed_extents[0], start, end, EXTENT_DIRTY, GFP_NOFS); EXTENT_DIRTY); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); btrfs_dec_block_group_ro(root, block_group); goto end_trans; } ret = clear_extent_bits(&fs_info->freed_extents[1], start, end, EXTENT_DIRTY, GFP_NOFS); EXTENT_DIRTY); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); btrfs_dec_block_group_ro(root, block_group); Loading fs/btrfs/extent_io.c +2 −2 Original line number Diff line number Diff line Loading @@ -1975,13 +1975,13 @@ int free_io_failure(struct inode *inode, struct io_failure_record *rec) set_state_failrec(failure_tree, rec->start, NULL); ret = clear_extent_bits(failure_tree, rec->start, rec->start + rec->len - 1, EXTENT_LOCKED | EXTENT_DIRTY, GFP_NOFS); EXTENT_LOCKED | EXTENT_DIRTY); if (ret) err = ret; ret = clear_extent_bits(&BTRFS_I(inode)->io_tree, rec->start, rec->start + rec->len - 1, EXTENT_DAMAGED, GFP_NOFS); EXTENT_DAMAGED); if (ret && !err) err = ret; Loading fs/btrfs/extent_io.h +3 −2 Original line number Diff line number Diff line Loading @@ -241,14 +241,15 @@ static inline int unlock_extent_cached(struct extent_io_tree *tree, u64 start, } static inline int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, unsigned bits, gfp_t mask) u64 end, unsigned bits) { int wake = 0; if (bits & EXTENT_LOCKED) wake = 1; return clear_extent_bit(tree, start, end, bits, wake, 0, NULL, mask); return clear_extent_bit(tree, start, end, bits, wake, 0, NULL, GFP_NOFS); } int set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, Loading fs/btrfs/inode.c +1 −2 Original line number Diff line number Diff line Loading @@ -3103,8 +3103,7 @@ static int btrfs_readpage_end_io_hook(struct btrfs_io_bio *io_bio, if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID && test_range_bit(io_tree, start, end, EXTENT_NODATASUM, 1, NULL)) { clear_extent_bits(io_tree, start, end, EXTENT_NODATASUM, GFP_NOFS); clear_extent_bits(io_tree, start, end, EXTENT_NODATASUM); return 0; } Loading Loading
fs/btrfs/disk-io.c +1 −1 Original line number Diff line number Diff line Loading @@ -4357,7 +4357,7 @@ static int btrfs_destroy_marked_extents(struct btrfs_root *root, if (ret) break; clear_extent_bits(dirty_pages, start, end, mark, GFP_NOFS); clear_extent_bits(dirty_pages, start, end, mark); while (start <= end) { eb = btrfs_find_tree_block(root->fs_info, start); start += root->nodesize; Loading
fs/btrfs/extent-tree.c +4 −4 Original line number Diff line number Diff line Loading @@ -246,9 +246,9 @@ static void free_excluded_extents(struct btrfs_root *root, end = start + cache->key.offset - 1; clear_extent_bits(&root->fs_info->freed_extents[0], start, end, EXTENT_UPTODATE, GFP_NOFS); start, end, EXTENT_UPTODATE); clear_extent_bits(&root->fs_info->freed_extents[1], start, end, EXTENT_UPTODATE, GFP_NOFS); start, end, EXTENT_UPTODATE); } static int exclude_super_stripes(struct btrfs_root *root, Loading Loading @@ -10526,14 +10526,14 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info) */ mutex_lock(&fs_info->unused_bg_unpin_mutex); ret = clear_extent_bits(&fs_info->freed_extents[0], start, end, EXTENT_DIRTY, GFP_NOFS); EXTENT_DIRTY); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); btrfs_dec_block_group_ro(root, block_group); goto end_trans; } ret = clear_extent_bits(&fs_info->freed_extents[1], start, end, EXTENT_DIRTY, GFP_NOFS); EXTENT_DIRTY); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); btrfs_dec_block_group_ro(root, block_group); Loading
fs/btrfs/extent_io.c +2 −2 Original line number Diff line number Diff line Loading @@ -1975,13 +1975,13 @@ int free_io_failure(struct inode *inode, struct io_failure_record *rec) set_state_failrec(failure_tree, rec->start, NULL); ret = clear_extent_bits(failure_tree, rec->start, rec->start + rec->len - 1, EXTENT_LOCKED | EXTENT_DIRTY, GFP_NOFS); EXTENT_LOCKED | EXTENT_DIRTY); if (ret) err = ret; ret = clear_extent_bits(&BTRFS_I(inode)->io_tree, rec->start, rec->start + rec->len - 1, EXTENT_DAMAGED, GFP_NOFS); EXTENT_DAMAGED); if (ret && !err) err = ret; Loading
fs/btrfs/extent_io.h +3 −2 Original line number Diff line number Diff line Loading @@ -241,14 +241,15 @@ static inline int unlock_extent_cached(struct extent_io_tree *tree, u64 start, } static inline int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, unsigned bits, gfp_t mask) u64 end, unsigned bits) { int wake = 0; if (bits & EXTENT_LOCKED) wake = 1; return clear_extent_bit(tree, start, end, bits, wake, 0, NULL, mask); return clear_extent_bit(tree, start, end, bits, wake, 0, NULL, GFP_NOFS); } int set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, Loading
fs/btrfs/inode.c +1 −2 Original line number Diff line number Diff line Loading @@ -3103,8 +3103,7 @@ static int btrfs_readpage_end_io_hook(struct btrfs_io_bio *io_bio, if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID && test_range_bit(io_tree, start, end, EXTENT_NODATASUM, 1, NULL)) { clear_extent_bits(io_tree, start, end, EXTENT_NODATASUM, GFP_NOFS); clear_extent_bits(io_tree, start, end, EXTENT_NODATASUM); return 0; } Loading