2024-03-09 00:11:08

by Keith Busch

[permalink] [raw]
Subject: [PATCH] ext4: remove unreachable discard code

From: Keith Busch <[email protected]>

There are no more ext4_issue_discard() users that track their own bio.
Remove the unused parameter and the dead code that handles it.

Signed-off-by: Keith Busch <[email protected]>
---
fs/ext4/mballoc.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index e4f7cf9d89c45..6314a2b000fd8 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -3829,8 +3829,7 @@ void ext4_mb_release(struct super_block *sb)
}

static inline int ext4_issue_discard(struct super_block *sb,
- ext4_group_t block_group, ext4_grpblk_t cluster, int count,
- struct bio **biop)
+ ext4_group_t block_group, ext4_grpblk_t cluster, int count)
{
ext4_fsblk_t discard_block;

@@ -3839,13 +3838,7 @@ static inline int ext4_issue_discard(struct super_block *sb,
count = EXT4_C2B(EXT4_SB(sb), count);
trace_ext4_discard_blocks(sb,
(unsigned long long) discard_block, count);
- if (biop) {
- return __blkdev_issue_discard(sb->s_bdev,
- (sector_t)discard_block << (sb->s_blocksize_bits - 9),
- (sector_t)count << (sb->s_blocksize_bits - 9),
- GFP_NOFS, biop);
- } else
- return sb_issue_discard(sb, discard_block, count, GFP_NOFS, 0);
+ return sb_issue_discard(sb, discard_block, count, GFP_NOFS, 0);
}

static void ext4_free_data_in_buddy(struct super_block *sb,
@@ -6487,7 +6480,7 @@ static void ext4_mb_clear_bb(handle_t *handle, struct inode *inode,
} else {
if (test_opt(sb, DISCARD)) {
err = ext4_issue_discard(sb, block_group, bit,
- count_clusters, NULL);
+ count_clusters);
if (err && err != -EOPNOTSUPP)
ext4_msg(sb, KERN_WARNING, "discard request in"
" group:%u block:%d count:%lu failed"
@@ -6738,7 +6731,7 @@ __acquires(bitlock)
*/
mb_mark_used(e4b, &ex);
ext4_unlock_group(sb, group);
- ret = ext4_issue_discard(sb, group, start, count, NULL);
+ ret = ext4_issue_discard(sb, group, start, count);
ext4_lock_group(sb, group);
mb_free_blocks(NULL, e4b, start, ex.fe_len);
return ret;
--
2.34.1



2024-03-09 02:59:01

by Zhang Yi

[permalink] [raw]
Subject: Re: [PATCH] ext4: remove unreachable discard code

On 2024/3/9 8:09, Keith Busch wrote:
> From: Keith Busch <[email protected]>
>
> There are no more ext4_issue_discard() users that track their own bio.
> Remove the unused parameter and the dead code that handles it.
>
> Signed-off-by: Keith Busch <[email protected]>

Hello Keith!

Wenchao Hao has already submitted the same patch.

https://lore.kernel.org/linux-ext4/[email protected]/

Thanks,
Yi.

> ---
> fs/ext4/mballoc.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index e4f7cf9d89c45..6314a2b000fd8 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -3829,8 +3829,7 @@ void ext4_mb_release(struct super_block *sb)
> }
>
> static inline int ext4_issue_discard(struct super_block *sb,
> - ext4_group_t block_group, ext4_grpblk_t cluster, int count,
> - struct bio **biop)
> + ext4_group_t block_group, ext4_grpblk_t cluster, int count)
> {
> ext4_fsblk_t discard_block;
>
> @@ -3839,13 +3838,7 @@ static inline int ext4_issue_discard(struct super_block *sb,
> count = EXT4_C2B(EXT4_SB(sb), count);
> trace_ext4_discard_blocks(sb,
> (unsigned long long) discard_block, count);
> - if (biop) {
> - return __blkdev_issue_discard(sb->s_bdev,
> - (sector_t)discard_block << (sb->s_blocksize_bits - 9),
> - (sector_t)count << (sb->s_blocksize_bits - 9),
> - GFP_NOFS, biop);
> - } else
> - return sb_issue_discard(sb, discard_block, count, GFP_NOFS, 0);
> + return sb_issue_discard(sb, discard_block, count, GFP_NOFS, 0);
> }
>
> static void ext4_free_data_in_buddy(struct super_block *sb,
> @@ -6487,7 +6480,7 @@ static void ext4_mb_clear_bb(handle_t *handle, struct inode *inode,
> } else {
> if (test_opt(sb, DISCARD)) {
> err = ext4_issue_discard(sb, block_group, bit,
> - count_clusters, NULL);
> + count_clusters);
> if (err && err != -EOPNOTSUPP)
> ext4_msg(sb, KERN_WARNING, "discard request in"
> " group:%u block:%d count:%lu failed"
> @@ -6738,7 +6731,7 @@ __acquires(bitlock)
> */
> mb_mark_used(e4b, &ex);
> ext4_unlock_group(sb, group);
> - ret = ext4_issue_discard(sb, group, start, count, NULL);
> + ret = ext4_issue_discard(sb, group, start, count);
> ext4_lock_group(sb, group);
> mb_free_blocks(NULL, e4b, start, ex.fe_len);
> return ret;
>