* [PATCH] btrfs: remove btrfs_clear_extent_bits()
@ 2025-07-11 8:54 fdmanana
2025-07-11 8:57 ` Qu Wenruo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: fdmanana @ 2025-07-11 8:54 UTC (permalink / raw)
To: linux-btrfs
From: Filipe Manana <fdmanana@suse.com>
It's just a simple wrapper around btrfs_clear_extent_bit() that passes a
NULL for its last argument (a cached extent state record), plus there is
not counter part - we have a btrfs_set_extent_bit() but we do not have a
btrfs_set_extent_bits() (plural version). So just remove it and make all
callers use btrfs_clear_extent_bit() directly.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
fs/btrfs/block-group.c | 12 ++++++------
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/extent-io-tree.h | 6 ------
fs/btrfs/inode.c | 4 ++--
fs/btrfs/qgroup.c | 4 ++--
fs/btrfs/reflink.c | 4 ++--
fs/btrfs/relocation.c | 2 +-
fs/btrfs/tests/extent-io-tests.c | 4 ++--
fs/btrfs/tests/inode-tests.c | 24 ++++++++++++------------
fs/btrfs/volumes.c | 10 +++++-----
10 files changed, 33 insertions(+), 39 deletions(-)
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index fb62a8cf03b3..999b61c97011 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -832,8 +832,8 @@ static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl)
static inline void btrfs_free_excluded_extents(const struct btrfs_block_group *bg)
{
- btrfs_clear_extent_bits(&bg->fs_info->excluded_extents, bg->start,
- bg->start + bg->length - 1, EXTENT_DIRTY);
+ btrfs_clear_extent_bit(&bg->fs_info->excluded_extents, bg->start,
+ bg->start + bg->length - 1, EXTENT_DIRTY, NULL);
}
static noinline void caching_thread(struct btrfs_work *work)
@@ -1436,14 +1436,14 @@ static bool clean_pinned_extents(struct btrfs_trans_handle *trans,
*/
mutex_lock(&fs_info->unused_bg_unpin_mutex);
if (prev_trans) {
- ret = btrfs_clear_extent_bits(&prev_trans->pinned_extents, start, end,
- EXTENT_DIRTY);
+ ret = btrfs_clear_extent_bit(&prev_trans->pinned_extents, start, end,
+ EXTENT_DIRTY, NULL);
if (ret)
goto out;
}
- ret = btrfs_clear_extent_bits(&trans->transaction->pinned_extents, start, end,
- EXTENT_DIRTY);
+ ret = btrfs_clear_extent_bit(&trans->transaction->pinned_extents, start, end,
+ EXTENT_DIRTY, NULL);
out:
mutex_unlock(&fs_info->unused_bg_unpin_mutex);
if (prev_trans)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 44e7ae4a2e0b..9cc14ab35297 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4641,7 +4641,7 @@ static void btrfs_destroy_marked_extents(struct btrfs_fs_info *fs_info,
while (btrfs_find_first_extent_bit(dirty_pages, start, &start, &end,
mark, NULL)) {
- btrfs_clear_extent_bits(dirty_pages, start, end, mark);
+ btrfs_clear_extent_bit(dirty_pages, start, end, mark, NULL);
while (start <= end) {
eb = find_extent_buffer(fs_info, start);
start += fs_info->nodesize;
diff --git a/fs/btrfs/extent-io-tree.h b/fs/btrfs/extent-io-tree.h
index 819da07bff09..36facca37973 100644
--- a/fs/btrfs/extent-io-tree.h
+++ b/fs/btrfs/extent-io-tree.h
@@ -192,12 +192,6 @@ static inline int btrfs_unlock_extent(struct extent_io_tree *tree, u64 start, u6
cached, NULL);
}
-static inline int btrfs_clear_extent_bits(struct extent_io_tree *tree, u64 start,
- u64 end, u32 bits)
-{
- return btrfs_clear_extent_bit(tree, start, end, bits, NULL);
-}
-
int btrfs_set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end,
u32 bits, struct extent_changeset *changeset);
int btrfs_set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 6781956197c7..7ed340cac33f 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3374,8 +3374,8 @@ bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
btrfs_test_range_bit(&inode->io_tree, file_offset, end, EXTENT_NODATASUM,
NULL)) {
/* Skip the range without csum for data reloc inode */
- btrfs_clear_extent_bits(&inode->io_tree, file_offset, end,
- EXTENT_NODATASUM);
+ btrfs_clear_extent_bit(&inode->io_tree, file_offset, end,
+ EXTENT_NODATASUM, NULL);
return true;
}
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index ae9bc7c71a34..1a5972178b3a 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -4116,8 +4116,8 @@ static int qgroup_unreserve_range(struct btrfs_inode *inode,
* Now the entry is in [start, start + len), revert the
* EXTENT_QGROUP_RESERVED bit.
*/
- clear_ret = btrfs_clear_extent_bits(&inode->io_tree, entry_start,
- entry_end, EXTENT_QGROUP_RESERVED);
+ clear_ret = btrfs_clear_extent_bit(&inode->io_tree, entry_start, entry_end,
+ EXTENT_QGROUP_RESERVED, NULL);
if (!ret && clear_ret < 0)
ret = clear_ret;
diff --git a/fs/btrfs/reflink.c b/fs/btrfs/reflink.c
index 0197bd9160a7..ce25ab7f0e99 100644
--- a/fs/btrfs/reflink.c
+++ b/fs/btrfs/reflink.c
@@ -93,8 +93,8 @@ static int copy_inline_to_page(struct btrfs_inode *inode,
if (ret < 0)
goto out_unlock;
- btrfs_clear_extent_bits(&inode->io_tree, file_offset, range_end,
- EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG);
+ btrfs_clear_extent_bit(&inode->io_tree, file_offset, range_end,
+ EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, NULL);
ret = btrfs_set_extent_delalloc(inode, file_offset, range_end, 0, NULL);
if (ret)
goto out_unlock;
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 175fc3acc38b..70a9c20b2caf 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -3651,7 +3651,7 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc)
}
btrfs_release_path(path);
- btrfs_clear_extent_bits(&rc->processed_blocks, 0, (u64)-1, EXTENT_DIRTY);
+ btrfs_clear_extent_bit(&rc->processed_blocks, 0, (u64)-1, EXTENT_DIRTY, NULL);
if (trans) {
btrfs_end_transaction_throttle(trans);
diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c
index 660141fc67a8..b19328d077d3 100644
--- a/fs/btrfs/tests/extent-io-tests.c
+++ b/fs/btrfs/tests/extent-io-tests.c
@@ -326,7 +326,7 @@ static int test_find_delalloc(u32 sectorsize, u32 nodesize)
out_bits:
if (ret)
dump_extent_io_tree(tmp);
- btrfs_clear_extent_bits(tmp, 0, total_dirty - 1, (unsigned)-1);
+ btrfs_clear_extent_bit(tmp, 0, total_dirty - 1, (unsigned)-1, NULL);
out:
if (locked_page)
put_page(locked_page);
@@ -662,7 +662,7 @@ static int test_find_first_clear_extent_bit(void)
out:
if (ret)
dump_extent_io_tree(&tree);
- btrfs_clear_extent_bits(&tree, 0, (u64)-1, CHUNK_TRIMMED | CHUNK_ALLOCATED);
+ btrfs_clear_extent_bit(&tree, 0, (u64)-1, CHUNK_TRIMMED | CHUNK_ALLOCATED, NULL);
return ret;
}
diff --git a/fs/btrfs/tests/inode-tests.c b/fs/btrfs/tests/inode-tests.c
index a29d2c02c2c8..a4c2b7748b95 100644
--- a/fs/btrfs/tests/inode-tests.c
+++ b/fs/btrfs/tests/inode-tests.c
@@ -950,10 +950,10 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
}
/* [BTRFS_MAX_EXTENT_SIZE/2][sectorsize HOLE][the rest] */
- ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree,
- BTRFS_MAX_EXTENT_SIZE >> 1,
- (BTRFS_MAX_EXTENT_SIZE >> 1) + sectorsize - 1,
- EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
+ ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
+ BTRFS_MAX_EXTENT_SIZE >> 1,
+ (BTRFS_MAX_EXTENT_SIZE >> 1) + sectorsize - 1,
+ EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
if (ret) {
test_err("clear_extent_bit returned %d", ret);
goto out;
@@ -1017,10 +1017,10 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
}
/* [BTRFS_MAX_EXTENT_SIZE+4k][4K HOLE][BTRFS_MAX_EXTENT_SIZE+4k] */
- ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree,
- BTRFS_MAX_EXTENT_SIZE + sectorsize,
- BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1,
- EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
+ ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
+ BTRFS_MAX_EXTENT_SIZE + sectorsize,
+ BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1,
+ EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
if (ret) {
test_err("clear_extent_bit returned %d", ret);
goto out;
@@ -1051,8 +1051,8 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
}
/* Empty */
- ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
- EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
+ ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
+ EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
if (ret) {
test_err("clear_extent_bit returned %d", ret);
goto out;
@@ -1066,8 +1066,8 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
ret = 0;
out:
if (ret)
- btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
- EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
+ btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
+ EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
iput(inode);
btrfs_free_dummy_root(root);
btrfs_free_dummy_fs_info(fs_info);
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 31aecd291d6c..3e31030063cd 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -5017,8 +5017,8 @@ int btrfs_shrink_device(struct btrfs_device *device, u64 new_size)
mutex_lock(&fs_info->chunk_mutex);
/* Clear all state bits beyond the shrunk device size */
- btrfs_clear_extent_bits(&device->alloc_state, new_size, (u64)-1,
- CHUNK_STATE_MASK);
+ btrfs_clear_extent_bit(&device->alloc_state, new_size, (u64)-1,
+ CHUNK_STATE_MASK, NULL);
btrfs_device_set_disk_total_bytes(device, new_size);
if (list_empty(&device->post_commit_list))
@@ -5445,9 +5445,9 @@ static void chunk_map_device_clear_bits(struct btrfs_chunk_map *map, unsigned in
struct btrfs_io_stripe *stripe = &map->stripes[i];
struct btrfs_device *device = stripe->dev;
- btrfs_clear_extent_bits(&device->alloc_state, stripe->physical,
- stripe->physical + map->stripe_size - 1,
- bits | EXTENT_NOWAIT);
+ btrfs_clear_extent_bit(&device->alloc_state, stripe->physical,
+ stripe->physical + map->stripe_size - 1,
+ bits | EXTENT_NOWAIT, NULL);
}
}
--
2.47.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] btrfs: remove btrfs_clear_extent_bits()
2025-07-11 8:54 [PATCH] btrfs: remove btrfs_clear_extent_bits() fdmanana
@ 2025-07-11 8:57 ` Qu Wenruo
2025-07-11 9:54 ` David Sterba
2025-07-11 10:54 ` Johannes Thumshirn
2 siblings, 0 replies; 4+ messages in thread
From: Qu Wenruo @ 2025-07-11 8:57 UTC (permalink / raw)
To: fdmanana, linux-btrfs
在 2025/7/11 18:24, fdmanana@kernel.org 写道:
> From: Filipe Manana <fdmanana@suse.com>
>
> It's just a simple wrapper around btrfs_clear_extent_bit() that passes a
> NULL for its last argument (a cached extent state record), plus there is
> not counter part - we have a btrfs_set_extent_bit() but we do not have a
> btrfs_set_extent_bits() (plural version). So just remove it and make all
> callers use btrfs_clear_extent_bit() directly.
>
> Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Thanks,
Qu
> ---
> fs/btrfs/block-group.c | 12 ++++++------
> fs/btrfs/disk-io.c | 2 +-
> fs/btrfs/extent-io-tree.h | 6 ------
> fs/btrfs/inode.c | 4 ++--
> fs/btrfs/qgroup.c | 4 ++--
> fs/btrfs/reflink.c | 4 ++--
> fs/btrfs/relocation.c | 2 +-
> fs/btrfs/tests/extent-io-tests.c | 4 ++--
> fs/btrfs/tests/inode-tests.c | 24 ++++++++++++------------
> fs/btrfs/volumes.c | 10 +++++-----
> 10 files changed, 33 insertions(+), 39 deletions(-)
>
> diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
> index fb62a8cf03b3..999b61c97011 100644
> --- a/fs/btrfs/block-group.c
> +++ b/fs/btrfs/block-group.c
> @@ -832,8 +832,8 @@ static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl)
>
> static inline void btrfs_free_excluded_extents(const struct btrfs_block_group *bg)
> {
> - btrfs_clear_extent_bits(&bg->fs_info->excluded_extents, bg->start,
> - bg->start + bg->length - 1, EXTENT_DIRTY);
> + btrfs_clear_extent_bit(&bg->fs_info->excluded_extents, bg->start,
> + bg->start + bg->length - 1, EXTENT_DIRTY, NULL);
> }
>
> static noinline void caching_thread(struct btrfs_work *work)
> @@ -1436,14 +1436,14 @@ static bool clean_pinned_extents(struct btrfs_trans_handle *trans,
> */
> mutex_lock(&fs_info->unused_bg_unpin_mutex);
> if (prev_trans) {
> - ret = btrfs_clear_extent_bits(&prev_trans->pinned_extents, start, end,
> - EXTENT_DIRTY);
> + ret = btrfs_clear_extent_bit(&prev_trans->pinned_extents, start, end,
> + EXTENT_DIRTY, NULL);
> if (ret)
> goto out;
> }
>
> - ret = btrfs_clear_extent_bits(&trans->transaction->pinned_extents, start, end,
> - EXTENT_DIRTY);
> + ret = btrfs_clear_extent_bit(&trans->transaction->pinned_extents, start, end,
> + EXTENT_DIRTY, NULL);
> out:
> mutex_unlock(&fs_info->unused_bg_unpin_mutex);
> if (prev_trans)
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index 44e7ae4a2e0b..9cc14ab35297 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -4641,7 +4641,7 @@ static void btrfs_destroy_marked_extents(struct btrfs_fs_info *fs_info,
>
> while (btrfs_find_first_extent_bit(dirty_pages, start, &start, &end,
> mark, NULL)) {
> - btrfs_clear_extent_bits(dirty_pages, start, end, mark);
> + btrfs_clear_extent_bit(dirty_pages, start, end, mark, NULL);
> while (start <= end) {
> eb = find_extent_buffer(fs_info, start);
> start += fs_info->nodesize;
> diff --git a/fs/btrfs/extent-io-tree.h b/fs/btrfs/extent-io-tree.h
> index 819da07bff09..36facca37973 100644
> --- a/fs/btrfs/extent-io-tree.h
> +++ b/fs/btrfs/extent-io-tree.h
> @@ -192,12 +192,6 @@ static inline int btrfs_unlock_extent(struct extent_io_tree *tree, u64 start, u6
> cached, NULL);
> }
>
> -static inline int btrfs_clear_extent_bits(struct extent_io_tree *tree, u64 start,
> - u64 end, u32 bits)
> -{
> - return btrfs_clear_extent_bit(tree, start, end, bits, NULL);
> -}
> -
> int btrfs_set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end,
> u32 bits, struct extent_changeset *changeset);
> int btrfs_set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
> diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
> index 6781956197c7..7ed340cac33f 100644
> --- a/fs/btrfs/inode.c
> +++ b/fs/btrfs/inode.c
> @@ -3374,8 +3374,8 @@ bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
> btrfs_test_range_bit(&inode->io_tree, file_offset, end, EXTENT_NODATASUM,
> NULL)) {
> /* Skip the range without csum for data reloc inode */
> - btrfs_clear_extent_bits(&inode->io_tree, file_offset, end,
> - EXTENT_NODATASUM);
> + btrfs_clear_extent_bit(&inode->io_tree, file_offset, end,
> + EXTENT_NODATASUM, NULL);
> return true;
> }
>
> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
> index ae9bc7c71a34..1a5972178b3a 100644
> --- a/fs/btrfs/qgroup.c
> +++ b/fs/btrfs/qgroup.c
> @@ -4116,8 +4116,8 @@ static int qgroup_unreserve_range(struct btrfs_inode *inode,
> * Now the entry is in [start, start + len), revert the
> * EXTENT_QGROUP_RESERVED bit.
> */
> - clear_ret = btrfs_clear_extent_bits(&inode->io_tree, entry_start,
> - entry_end, EXTENT_QGROUP_RESERVED);
> + clear_ret = btrfs_clear_extent_bit(&inode->io_tree, entry_start, entry_end,
> + EXTENT_QGROUP_RESERVED, NULL);
> if (!ret && clear_ret < 0)
> ret = clear_ret;
>
> diff --git a/fs/btrfs/reflink.c b/fs/btrfs/reflink.c
> index 0197bd9160a7..ce25ab7f0e99 100644
> --- a/fs/btrfs/reflink.c
> +++ b/fs/btrfs/reflink.c
> @@ -93,8 +93,8 @@ static int copy_inline_to_page(struct btrfs_inode *inode,
> if (ret < 0)
> goto out_unlock;
>
> - btrfs_clear_extent_bits(&inode->io_tree, file_offset, range_end,
> - EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG);
> + btrfs_clear_extent_bit(&inode->io_tree, file_offset, range_end,
> + EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, NULL);
> ret = btrfs_set_extent_delalloc(inode, file_offset, range_end, 0, NULL);
> if (ret)
> goto out_unlock;
> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
> index 175fc3acc38b..70a9c20b2caf 100644
> --- a/fs/btrfs/relocation.c
> +++ b/fs/btrfs/relocation.c
> @@ -3651,7 +3651,7 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc)
> }
>
> btrfs_release_path(path);
> - btrfs_clear_extent_bits(&rc->processed_blocks, 0, (u64)-1, EXTENT_DIRTY);
> + btrfs_clear_extent_bit(&rc->processed_blocks, 0, (u64)-1, EXTENT_DIRTY, NULL);
>
> if (trans) {
> btrfs_end_transaction_throttle(trans);
> diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c
> index 660141fc67a8..b19328d077d3 100644
> --- a/fs/btrfs/tests/extent-io-tests.c
> +++ b/fs/btrfs/tests/extent-io-tests.c
> @@ -326,7 +326,7 @@ static int test_find_delalloc(u32 sectorsize, u32 nodesize)
> out_bits:
> if (ret)
> dump_extent_io_tree(tmp);
> - btrfs_clear_extent_bits(tmp, 0, total_dirty - 1, (unsigned)-1);
> + btrfs_clear_extent_bit(tmp, 0, total_dirty - 1, (unsigned)-1, NULL);
> out:
> if (locked_page)
> put_page(locked_page);
> @@ -662,7 +662,7 @@ static int test_find_first_clear_extent_bit(void)
> out:
> if (ret)
> dump_extent_io_tree(&tree);
> - btrfs_clear_extent_bits(&tree, 0, (u64)-1, CHUNK_TRIMMED | CHUNK_ALLOCATED);
> + btrfs_clear_extent_bit(&tree, 0, (u64)-1, CHUNK_TRIMMED | CHUNK_ALLOCATED, NULL);
>
> return ret;
> }
> diff --git a/fs/btrfs/tests/inode-tests.c b/fs/btrfs/tests/inode-tests.c
> index a29d2c02c2c8..a4c2b7748b95 100644
> --- a/fs/btrfs/tests/inode-tests.c
> +++ b/fs/btrfs/tests/inode-tests.c
> @@ -950,10 +950,10 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
> }
>
> /* [BTRFS_MAX_EXTENT_SIZE/2][sectorsize HOLE][the rest] */
> - ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree,
> - BTRFS_MAX_EXTENT_SIZE >> 1,
> - (BTRFS_MAX_EXTENT_SIZE >> 1) + sectorsize - 1,
> - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
> + ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
> + BTRFS_MAX_EXTENT_SIZE >> 1,
> + (BTRFS_MAX_EXTENT_SIZE >> 1) + sectorsize - 1,
> + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
> if (ret) {
> test_err("clear_extent_bit returned %d", ret);
> goto out;
> @@ -1017,10 +1017,10 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
> }
>
> /* [BTRFS_MAX_EXTENT_SIZE+4k][4K HOLE][BTRFS_MAX_EXTENT_SIZE+4k] */
> - ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree,
> - BTRFS_MAX_EXTENT_SIZE + sectorsize,
> - BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1,
> - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
> + ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
> + BTRFS_MAX_EXTENT_SIZE + sectorsize,
> + BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1,
> + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
> if (ret) {
> test_err("clear_extent_bit returned %d", ret);
> goto out;
> @@ -1051,8 +1051,8 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
> }
>
> /* Empty */
> - ret = btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
> - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
> + ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
> + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
> if (ret) {
> test_err("clear_extent_bit returned %d", ret);
> goto out;
> @@ -1066,8 +1066,8 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
> ret = 0;
> out:
> if (ret)
> - btrfs_clear_extent_bits(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
> - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW);
> + btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
> + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL);
> iput(inode);
> btrfs_free_dummy_root(root);
> btrfs_free_dummy_fs_info(fs_info);
> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
> index 31aecd291d6c..3e31030063cd 100644
> --- a/fs/btrfs/volumes.c
> +++ b/fs/btrfs/volumes.c
> @@ -5017,8 +5017,8 @@ int btrfs_shrink_device(struct btrfs_device *device, u64 new_size)
>
> mutex_lock(&fs_info->chunk_mutex);
> /* Clear all state bits beyond the shrunk device size */
> - btrfs_clear_extent_bits(&device->alloc_state, new_size, (u64)-1,
> - CHUNK_STATE_MASK);
> + btrfs_clear_extent_bit(&device->alloc_state, new_size, (u64)-1,
> + CHUNK_STATE_MASK, NULL);
>
> btrfs_device_set_disk_total_bytes(device, new_size);
> if (list_empty(&device->post_commit_list))
> @@ -5445,9 +5445,9 @@ static void chunk_map_device_clear_bits(struct btrfs_chunk_map *map, unsigned in
> struct btrfs_io_stripe *stripe = &map->stripes[i];
> struct btrfs_device *device = stripe->dev;
>
> - btrfs_clear_extent_bits(&device->alloc_state, stripe->physical,
> - stripe->physical + map->stripe_size - 1,
> - bits | EXTENT_NOWAIT);
> + btrfs_clear_extent_bit(&device->alloc_state, stripe->physical,
> + stripe->physical + map->stripe_size - 1,
> + bits | EXTENT_NOWAIT, NULL);
> }
> }
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] btrfs: remove btrfs_clear_extent_bits()
2025-07-11 8:54 [PATCH] btrfs: remove btrfs_clear_extent_bits() fdmanana
2025-07-11 8:57 ` Qu Wenruo
@ 2025-07-11 9:54 ` David Sterba
2025-07-11 10:54 ` Johannes Thumshirn
2 siblings, 0 replies; 4+ messages in thread
From: David Sterba @ 2025-07-11 9:54 UTC (permalink / raw)
To: fdmanana; +Cc: linux-btrfs
On Fri, Jul 11, 2025 at 09:54:10AM +0100, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
>
> It's just a simple wrapper around btrfs_clear_extent_bit() that passes a
> NULL for its last argument (a cached extent state record), plus there is
> not counter part - we have a btrfs_set_extent_bit() but we do not have a
> btrfs_set_extent_bits() (plural version). So just remove it and make all
> callers use btrfs_clear_extent_bit() directly.
>
> Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] btrfs: remove btrfs_clear_extent_bits()
2025-07-11 8:54 [PATCH] btrfs: remove btrfs_clear_extent_bits() fdmanana
2025-07-11 8:57 ` Qu Wenruo
2025-07-11 9:54 ` David Sterba
@ 2025-07-11 10:54 ` Johannes Thumshirn
2 siblings, 0 replies; 4+ messages in thread
From: Johannes Thumshirn @ 2025-07-11 10:54 UTC (permalink / raw)
To: fdmanana@kernel.org, linux-btrfs@vger.kernel.org
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-07-11 10:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-11 8:54 [PATCH] btrfs: remove btrfs_clear_extent_bits() fdmanana
2025-07-11 8:57 ` Qu Wenruo
2025-07-11 9:54 ` David Sterba
2025-07-11 10:54 ` Johannes Thumshirn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox