From: dannyshih <dannyshih@synology.com> To: axboe@kernel.dk Cc: agk@redhat.com, snitzer@redhat.com, dm-devel@redhat.com, song@kernel.org, linux-block@vger.kernel.org, linux-raid@vger.kernel.org, Danny Shih <dannyshih@synology.com> Subject: [PATCH 4/4] md: use submit_bio_noacct_add_head for split bio sending back Date: Tue, 29 Dec 2020 17:18:42 +0800 [thread overview] Message-ID: <1609233522-25837-5-git-send-email-dannyshih@synology.com> (raw) In-Reply-To: <1609233522-25837-1-git-send-email-dannyshih@synology.com> From: Danny Shih <dannyshih@synology.com> Use submit_bio_noacct_add_head when sending split bio back to md device. Otherwise, it might be handled after the lately split bio. Signed-off-by: Danny Shih <dannyshih@synology.com> Reviewed-by: Allen Peng <allenpeng@synology.com> Reviewed-by: Alex Wu <alexwu@synology.com> --- drivers/md/md-linear.c | 2 +- drivers/md/raid0.c | 4 ++-- drivers/md/raid1.c | 4 ++-- drivers/md/raid10.c | 4 ++-- drivers/md/raid5.c | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c index 68cac7d..24418ee 100644 --- a/drivers/md/md-linear.c +++ b/drivers/md/md-linear.c @@ -243,7 +243,7 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) struct bio *split = bio_split(bio, end_sector - bio_sector, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; } diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 67f157f..92e82d5 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c @@ -447,7 +447,7 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio) zone->zone_end - bio->bi_iter.bi_sector, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; end = zone->zone_end; } else @@ -552,7 +552,7 @@ static bool raid0_make_request(struct mddev *mddev, struct bio *bio) struct bio *split = bio_split(bio, sectors, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; } diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index c034799..31cec76 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1282,7 +1282,7 @@ static void raid1_read_request(struct mddev *mddev, struct bio *bio, struct bio *split = bio_split(bio, max_sectors, gfp, &conf->bio_split); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; r1_bio->master_bio = bio; r1_bio->sectors = max_sectors; @@ -1453,7 +1453,7 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio, struct bio *split = bio_split(bio, max_sectors, GFP_NOIO, &conf->bio_split); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; r1_bio->master_bio = bio; r1_bio->sectors = max_sectors; diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index c5d88ef..c4dc970 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1177,7 +1177,7 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio, gfp, &conf->bio_split); bio_chain(split, bio); allow_barrier(conf); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); wait_barrier(conf); bio = split; r10_bio->master_bio = bio; @@ -1460,7 +1460,7 @@ static void raid10_write_request(struct mddev *mddev, struct bio *bio, GFP_NOIO, &conf->bio_split); bio_chain(split, bio); allow_barrier(conf); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); wait_barrier(conf); bio = split; r10_bio->master_bio = bio; diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 3a90cc0..17458ac 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -5490,7 +5490,7 @@ static struct bio *chunk_aligned_read(struct mddev *mddev, struct bio *raid_bio) struct r5conf *conf = mddev->private; split = bio_split(raid_bio, sectors, GFP_NOIO, &conf->bio_split); bio_chain(split, raid_bio); - submit_bio_noacct(raid_bio); + submit_bio_noacct_add_head(raid_bio); raid_bio = split; } -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: dannyshih <dannyshih@synology.com> To: axboe@kernel.dk Cc: linux-raid@vger.kernel.org, snitzer@redhat.com, linux-block@vger.kernel.org, song@kernel.org, dm-devel@redhat.com, Danny Shih <dannyshih@synology.com>, agk@redhat.com Subject: [dm-devel] [PATCH 4/4] md: use submit_bio_noacct_add_head for split bio sending back Date: Tue, 29 Dec 2020 17:18:42 +0800 [thread overview] Message-ID: <1609233522-25837-5-git-send-email-dannyshih@synology.com> (raw) In-Reply-To: <1609233522-25837-1-git-send-email-dannyshih@synology.com> From: Danny Shih <dannyshih@synology.com> Use submit_bio_noacct_add_head when sending split bio back to md device. Otherwise, it might be handled after the lately split bio. Signed-off-by: Danny Shih <dannyshih@synology.com> Reviewed-by: Allen Peng <allenpeng@synology.com> Reviewed-by: Alex Wu <alexwu@synology.com> --- drivers/md/md-linear.c | 2 +- drivers/md/raid0.c | 4 ++-- drivers/md/raid1.c | 4 ++-- drivers/md/raid10.c | 4 ++-- drivers/md/raid5.c | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c index 68cac7d..24418ee 100644 --- a/drivers/md/md-linear.c +++ b/drivers/md/md-linear.c @@ -243,7 +243,7 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) struct bio *split = bio_split(bio, end_sector - bio_sector, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; } diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 67f157f..92e82d5 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c @@ -447,7 +447,7 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio) zone->zone_end - bio->bi_iter.bi_sector, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; end = zone->zone_end; } else @@ -552,7 +552,7 @@ static bool raid0_make_request(struct mddev *mddev, struct bio *bio) struct bio *split = bio_split(bio, sectors, GFP_NOIO, &mddev->bio_set); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; } diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index c034799..31cec76 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1282,7 +1282,7 @@ static void raid1_read_request(struct mddev *mddev, struct bio *bio, struct bio *split = bio_split(bio, max_sectors, gfp, &conf->bio_split); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; r1_bio->master_bio = bio; r1_bio->sectors = max_sectors; @@ -1453,7 +1453,7 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio, struct bio *split = bio_split(bio, max_sectors, GFP_NOIO, &conf->bio_split); bio_chain(split, bio); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); bio = split; r1_bio->master_bio = bio; r1_bio->sectors = max_sectors; diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index c5d88ef..c4dc970 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1177,7 +1177,7 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio, gfp, &conf->bio_split); bio_chain(split, bio); allow_barrier(conf); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); wait_barrier(conf); bio = split; r10_bio->master_bio = bio; @@ -1460,7 +1460,7 @@ static void raid10_write_request(struct mddev *mddev, struct bio *bio, GFP_NOIO, &conf->bio_split); bio_chain(split, bio); allow_barrier(conf); - submit_bio_noacct(bio); + submit_bio_noacct_add_head(bio); wait_barrier(conf); bio = split; r10_bio->master_bio = bio; diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 3a90cc0..17458ac 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -5490,7 +5490,7 @@ static struct bio *chunk_aligned_read(struct mddev *mddev, struct bio *raid_bio) struct r5conf *conf = mddev->private; split = bio_split(raid_bio, sectors, GFP_NOIO, &conf->bio_split); bio_chain(split, raid_bio); - submit_bio_noacct(raid_bio); + submit_bio_noacct_add_head(raid_bio); raid_bio = split; } -- 2.7.4 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2020-12-29 9:29 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-29 9:18 [PATCH 0/4] Fix order when split bio and send remaining back to itself dannyshih 2020-12-29 9:18 ` [dm-devel] " dannyshih 2020-12-29 9:18 ` [PATCH 1/4] block: introduce submit_bio_noacct_add_head dannyshih 2020-12-29 9:18 ` [dm-devel] " dannyshih 2020-12-30 0:00 ` John Stoffel 2020-12-30 0:00 ` [dm-devel] " John Stoffel 2020-12-30 9:51 ` Danny Shih 2020-12-30 9:51 ` [dm-devel] " Danny Shih 2020-12-30 17:06 ` John Stoffel 2020-12-30 17:06 ` [dm-devel] " John Stoffel 2020-12-30 17:53 ` antlists 2020-12-30 17:53 ` [dm-devel] " antlists 2020-12-30 11:35 ` antlists 2020-12-30 11:35 ` [dm-devel] " antlists 2020-12-30 16:53 ` John Stoffel 2020-12-30 16:53 ` [dm-devel] " John Stoffel 2020-12-29 9:18 ` [PATCH 2/4] block: use submit_bio_noacct_add_head for split bio sending back dannyshih 2020-12-29 9:18 ` [dm-devel] " dannyshih 2020-12-29 9:18 ` [PATCH 3/4] dm: " dannyshih 2020-12-29 9:18 ` [dm-devel] " dannyshih 2020-12-29 9:18 ` dannyshih [this message] 2020-12-29 9:18 ` [dm-devel] [PATCH 4/4] md: " dannyshih 2020-12-30 23:34 ` [PATCH 0/4] Fix order when split bio and send remaining back to itself Mike Snitzer 2020-12-30 23:34 ` [dm-devel] " Mike Snitzer 2020-12-31 8:28 ` Danny Shih 2020-12-31 8:28 ` [dm-devel] " Danny Shih
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=1609233522-25837-5-git-send-email-dannyshih@synology.com \ --to=dannyshih@synology.com \ --cc=agk@redhat.com \ --cc=axboe@kernel.dk \ --cc=dm-devel@redhat.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-raid@vger.kernel.org \ --cc=snitzer@redhat.com \ --cc=song@kernel.org \ /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: linkBe 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.