From: Chaitanya Kulkarni <ckulkarnilinux@gmail.com>
To: axboe@kernel.dk, agk@redhat.com, snitzer@kernel.org,
mpatocka@redhat.com, song@kernel.org, yukuai@fnnas.com,
hch@lst.de, sagi@grimberg.me, kch@nvidia.com, jaegeuk@kernel.org,
chao@kernel.org, cem@kernel.org
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
dm-devel@lists.linux.dev, linux-raid@vger.kernel.org,
linux-nvme@lists.infradead.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-xfs@vger.kernel.org, bpf@vger.kernel.org,
Chaitanya Kulkarni <ckulkarnilinux@gmail.com>
Subject: [PATCH V2 2/5] dm: ignore discard return value
Date: Sun, 23 Nov 2025 18:57:34 -0800 [thread overview]
Message-ID: <20251124025737.203571-3-ckulkarnilinux@gmail.com> (raw)
In-Reply-To: <20251124025737.203571-1-ckulkarnilinux@gmail.com>
__blkdev_issue_discard() always returns 0, making all error checking
at call sites dead code.
For dm-thin change issue_discard() return type to void, in
passdown_double_checking_shared_status() remove the r assignment from
return value of the issue_discard(), for end_discard() hardcod value
of r to 0 that matches only value returned from
__blkdev_issue_discard().
md part is simplified to only check !discard_bio by ignoring the
__blkdev_issue_discard() value.
Signed-off-by: Chaitanya Kulkarni <ckulkarnilinux@gmail.com>
---
drivers/md/dm-thin.c | 12 +++++-------
drivers/md/md.c | 4 ++--
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index c84149ba4e38..77c76f75c85f 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -395,13 +395,13 @@ static void begin_discard(struct discard_op *op, struct thin_c *tc, struct bio *
op->bio = NULL;
}
-static int issue_discard(struct discard_op *op, dm_block_t data_b, dm_block_t data_e)
+static void issue_discard(struct discard_op *op, dm_block_t data_b, dm_block_t data_e)
{
struct thin_c *tc = op->tc;
sector_t s = block_to_sectors(tc->pool, data_b);
sector_t len = block_to_sectors(tc->pool, data_e - data_b);
- return __blkdev_issue_discard(tc->pool_dev->bdev, s, len, GFP_NOIO, &op->bio);
+ __blkdev_issue_discard(tc->pool_dev->bdev, s, len, GFP_NOIO, &op->bio);
}
static void end_discard(struct discard_op *op, int r)
@@ -1113,9 +1113,7 @@ static void passdown_double_checking_shared_status(struct dm_thin_new_mapping *m
break;
}
- r = issue_discard(&op, b, e);
- if (r)
- goto out;
+ issue_discard(&op, b, e);
b = e;
}
@@ -1188,8 +1186,8 @@ static void process_prepared_discard_passdown_pt1(struct dm_thin_new_mapping *m)
struct discard_op op;
begin_discard(&op, tc, discard_parent);
- r = issue_discard(&op, m->data_block, data_end);
- end_discard(&op, r);
+ issue_discard(&op, m->data_block, data_end);
+ end_discard(&op, 0);
}
}
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 7b5c5967568f..aeb62df39828 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -9132,8 +9132,8 @@ void md_submit_discard_bio(struct mddev *mddev, struct md_rdev *rdev,
{
struct bio *discard_bio = NULL;
- if (__blkdev_issue_discard(rdev->bdev, start, size, GFP_NOIO,
- &discard_bio) || !discard_bio)
+ __blkdev_issue_discard(rdev->bdev, start, size, GFP_NOIO, &discard_bio);
+ if (!discard_bio)
return;
bio_chain(discard_bio, bio);
--
2.40.0
next prev parent reply other threads:[~2025-11-24 2:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 2:57 [PATCH V2 0/5] block: ignore __blkdev_issue_discard() ret value Chaitanya Kulkarni
2025-11-24 2:57 ` [PATCH V2 1/5] block: ignore discard return value Chaitanya Kulkarni
2025-11-24 6:26 ` Christoph Hellwig
2025-11-24 7:50 ` Johannes Thumshirn
2025-11-24 12:57 ` Martin K. Petersen
2025-11-25 23:33 ` Wilfred Mallawa
2025-11-24 2:57 ` Chaitanya Kulkarni [this message]
2025-11-24 6:24 ` [PATCH V2 2/5] dm: " Yu Kuai
2025-11-24 6:27 ` Christoph Hellwig
2025-11-24 7:53 ` Johannes Thumshirn
2025-11-24 12:59 ` Martin K. Petersen
2025-11-25 23:41 ` Wilfred Mallawa
2025-11-26 9:26 ` Damien Le Moal
2025-11-24 2:57 ` [PATCH V2 3/5] nvmet: " Chaitanya Kulkarni
2025-11-24 6:28 ` Christoph Hellwig
2025-11-24 7:54 ` Johannes Thumshirn
2025-11-24 13:03 ` Martin K. Petersen
2025-11-24 2:57 ` [PATCH V2 4/5] f2fs: " Chaitanya Kulkarni
2025-11-24 6:30 ` Christoph Hellwig
2025-11-24 7:56 ` Johannes Thumshirn
2025-11-24 12:58 ` Martin K. Petersen
2025-11-24 2:57 ` [PATCH V2 5/5] xfs: " Chaitanya Kulkarni
2025-11-24 6:31 ` Christoph Hellwig
2025-11-24 7:57 ` Johannes Thumshirn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251124025737.203571-3-ckulkarnilinux@gmail.com \
--to=ckulkarnilinux@gmail.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=bpf@vger.kernel.org \
--cc=cem@kernel.org \
--cc=chao@kernel.org \
--cc=dm-devel@lists.linux.dev \
--cc=hch@lst.de \
--cc=jaegeuk@kernel.org \
--cc=kch@nvidia.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=sagi@grimberg.me \
--cc=snitzer@kernel.org \
--cc=song@kernel.org \
--cc=yukuai@fnnas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox