[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <09e48eba-6f00-455a-8299-8b8bb4122c7e@kernel.org>
Date: Wed, 26 Nov 2025 10:47:35 +0800
From: Chao Yu <chao@...nel.org>
To: Chaitanya Kulkarni <ckulkarnilinux@...il.com>, axboe@...nel.dk,
agk@...hat.com, snitzer@...nel.org, mpatocka@...hat.com, song@...nel.org,
yukuai@...as.com, hch@....de, sagi@...mberg.me, kch@...dia.com,
jaegeuk@...nel.org, cem@...nel.org
Cc: chao@...nel.org, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, dm-devel@...ts.linux.dev,
linux-raid@...r.kernel.org, linux-nvme@...ts.infradead.org,
linux-f2fs-devel@...ts.sourceforge.net, linux-xfs@...r.kernel.org,
bpf@...r.kernel.org, "Martin K . Petersen" <martin.petersen@...cle.com>,
Johannes Thumshirn <johannes.thumshirn@....com>
Subject: Re: [PATCH V3 5/6] f2fs: ignore discard return value
On 11/25/25 07:48, Chaitanya Kulkarni wrote:
> __blkdev_issue_discard() always returns 0, making the error assignment
> in __submit_discard_cmd() dead code.
>
> Initialize err to 0 and remove the error assignment from the
> __blkdev_issue_discard() call to err. Move fault injection code into
> already present if branch where err is set to -EIO.
>
> This preserves the fault injection behavior while removing dead error
> handling.
>
> Reviewed-by: Martin K. Petersen <martin.petersen@...cle.com>
> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@....com>
> Reviewed-by: Christoph Hellwig <hch@....de>
> Signed-off-by: Chaitanya Kulkarni <ckulkarnilinux@...il.com>
> ---
> fs/f2fs/segment.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index b45eace879d7..22b736ec9c51 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1343,15 +1343,9 @@ static int __submit_discard_cmd(struct f2fs_sb_info *sbi,
>
> dc->di.len += len;
>
> + err = 0;
> if (time_to_inject(sbi, FAULT_DISCARD)) {
> err = -EIO;
> - } else {
> - err = __blkdev_issue_discard(bdev,
> - SECTOR_FROM_BLOCK(start),
> - SECTOR_FROM_BLOCK(len),
> - GFP_NOFS, &bio);
> - }
> - if (err) {
> spin_lock_irqsave(&dc->lock, flags);
> if (dc->state == D_PARTIAL)
> dc->state = D_SUBMIT;
> @@ -1360,6 +1354,8 @@ static int __submit_discard_cmd(struct f2fs_sb_info *sbi,
> break;
> }
>
> + __blkdev_issue_discard(bdev, SECTOR_FROM_BLOCK(start),
> + SECTOR_FROM_BLOCK(len), GFP_NOFS, &bio);
Oh, wait, bio can be NULL? Then below f2fs_bug_on() will trigger panic or warning.
Thanks,
> f2fs_bug_on(sbi, !bio);
>
> /*
Powered by blists - more mailing lists