From: Mike Snitzer <snitzer@redhat.com>
To: dm-devel@redhat.com
Cc: axboe@kernel.dk, linux-block@vger.kernel.org,
NeilBrown <neilb@suse.com>, Ming Lei <ming.lei@redhat.com>
Subject: [PATCH 1/4] dm: fix clone_bio() to trigger blk_recount_segments()
Date: Sat, 19 Jan 2019 13:05:03 -0500 [thread overview]
Message-ID: <20190119180506.1300-2-snitzer@redhat.com> (raw)
In-Reply-To: <20190119180506.1300-1-snitzer@redhat.com>
DM's clone_bio() now benefits from using bio_trim() by fixing the fact
that clone_bio() wasn't clearing BIO_SEG_VALID like bio_trim() does;
which triggers blk_recount_segments() via bio_phys_segments().
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
drivers/md/dm.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index d67c95ef8d7e..fcb97b0a5743 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1320,7 +1320,7 @@ static int clone_bio(struct dm_target_io *tio, struct bio *bio,
__bio_clone_fast(clone, bio);
- if (unlikely(bio_integrity(bio) != NULL)) {
+ if (bio_integrity(bio)) {
int r;
if (unlikely(!dm_target_has_integrity(tio->ti->type) &&
@@ -1336,11 +1336,7 @@ static int clone_bio(struct dm_target_io *tio, struct bio *bio,
return r;
}
- bio_advance(clone, to_bytes(sector - clone->bi_iter.bi_sector));
- clone->bi_iter.bi_size = to_bytes(len);
-
- if (unlikely(bio_integrity(bio) != NULL))
- bio_integrity_trim(clone);
+ bio_trim(clone, sector - clone->bi_iter.bi_sector, len);
return 0;
}
--
2.15.0
WARNING: multiple messages have this Message-ID (diff)
From: Mike Snitzer <snitzer@redhat.com>
To: dm-devel@redhat.com
Cc: NeilBrown <neilb@suse.com>, Ming Lei <ming.lei@redhat.com>,
axboe@kernel.dk, linux-block@vger.kernel.org
Subject: [PATCH 1/4] dm: fix clone_bio() to trigger blk_recount_segments()
Date: Sat, 19 Jan 2019 13:05:03 -0500 [thread overview]
Message-ID: <20190119180506.1300-2-snitzer@redhat.com> (raw)
In-Reply-To: <20190119180506.1300-1-snitzer@redhat.com>
DM's clone_bio() now benefits from using bio_trim() by fixing the fact
that clone_bio() wasn't clearing BIO_SEG_VALID like bio_trim() does;
which triggers blk_recount_segments() via bio_phys_segments().
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
drivers/md/dm.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index d67c95ef8d7e..fcb97b0a5743 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1320,7 +1320,7 @@ static int clone_bio(struct dm_target_io *tio, struct bio *bio,
__bio_clone_fast(clone, bio);
- if (unlikely(bio_integrity(bio) != NULL)) {
+ if (bio_integrity(bio)) {
int r;
if (unlikely(!dm_target_has_integrity(tio->ti->type) &&
@@ -1336,11 +1336,7 @@ static int clone_bio(struct dm_target_io *tio, struct bio *bio,
return r;
}
- bio_advance(clone, to_bytes(sector - clone->bi_iter.bi_sector));
- clone->bi_iter.bi_size = to_bytes(len);
-
- if (unlikely(bio_integrity(bio) != NULL))
- bio_integrity_trim(clone);
+ bio_trim(clone, sector - clone->bi_iter.bi_sector, len);
return 0;
}
--
2.15.0
next prev parent reply other threads:[~2019-01-19 18:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-19 18:05 [PATCH 0/4] dm: fix various issues with bio splitting code Mike Snitzer
2019-01-19 18:05 ` Mike Snitzer
2019-01-19 18:05 ` Mike Snitzer [this message]
2019-01-19 18:05 ` [PATCH 1/4] dm: fix clone_bio() to trigger blk_recount_segments() Mike Snitzer
2019-01-21 3:25 ` Ming Lei
2019-01-21 3:25 ` Ming Lei
2019-01-19 18:05 ` [PATCH 2/4] dm: fix redundant IO accounting for bios that need splitting Mike Snitzer
2019-01-19 18:05 ` Mike Snitzer
2019-01-21 3:52 ` Ming Lei
2019-01-21 3:52 ` Ming Lei
2019-01-22 15:55 ` Sasha Levin
2019-01-19 18:05 ` [PATCH 3/4] dm: fix missing bio_split() pattern code in __split_and_process_bio() Mike Snitzer
2019-01-19 18:05 ` Mike Snitzer
2019-01-21 3:21 ` Ming Lei
2019-01-21 3:21 ` Ming Lei
2019-01-21 16:02 ` Mike Snitzer
2019-01-21 16:02 ` Mike Snitzer
2019-01-22 2:46 ` Ming Lei
2019-01-22 2:46 ` Ming Lei
2019-01-22 3:17 ` Mike Snitzer
2019-01-22 3:17 ` Mike Snitzer
2019-01-22 3:35 ` Mike Snitzer
2019-01-22 3:35 ` Mike Snitzer
2019-01-22 3:49 ` Ming Lei
2019-01-22 3:49 ` Ming Lei
2019-01-21 4:39 ` NeilBrown
2019-01-21 4:39 ` [dm-devel] " NeilBrown
2019-01-22 15:56 ` Sasha Levin
2019-01-19 18:05 ` [PATCH 4/4] dm: fix dm_wq_work() to only use __split_and_process_bio() if appropriate Mike Snitzer
2019-01-19 18:05 ` Mike Snitzer
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=20190119180506.1300-2-snitzer@redhat.com \
--to=snitzer@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=linux-block@vger.kernel.org \
--cc=ming.lei@redhat.com \
--cc=neilb@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.