From: NeilBrown <neilb@suse.com> To: Jens Axboe <axboe@kernel.dk> Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Kent Overstreet <kent.overstreet@gmail.com>, linux-bcache@vger.kernel.org Subject: [PATCH 09/11] bcache: use kmalloc to allocate bio in bch_data_verify() Date: Thu, 20 Apr 2017 15:38:50 +1000 [thread overview] Message-ID: <149266673005.27388.9415706764616504556.stgit@noble> (raw) In-Reply-To: <149266645258.27388.14083229348123176454.stgit@noble> This function allocates a bio, then a collection of pages. It copes with failure. It currently uses a mempool() to allocate the bio, but alloc_page() to allocate the pages. These fail in different ways, so the usage is inconsistent. Change the bio_clone() to bio_clone_kmalloc() so that no pool is used either for the bio or the pages. Signed-off-by: NeilBrown <neilb@suse.com> --- drivers/md/bcache/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c index 06f55056aaae..35a5a7210e51 100644 --- a/drivers/md/bcache/debug.c +++ b/drivers/md/bcache/debug.c @@ -110,7 +110,7 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) struct bio_vec bv, cbv; struct bvec_iter iter, citer = { 0 }; - check = bio_clone(bio, GFP_NOIO); + check = bio_clone_kmalloc(bio, GFP_NOIO); if (!check) return; check->bi_opf = REQ_OP_READ;
WARNING: multiple messages have this Message-ID (diff)
From: NeilBrown <neilb@suse.com> To: Jens Axboe <axboe@kernel.dk> Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Kent Overstreet <kent.overstreet@gmail.com>, linux-bcache@vger.kernel.org Subject: [PATCH 09/11] bcache: use kmalloc to allocate bio in bch_data_verify() Date: Thu, 20 Apr 2017 15:38:50 +1000 [thread overview] Message-ID: <149266673005.27388.9415706764616504556.stgit@noble> (raw) In-Reply-To: <149266645258.27388.14083229348123176454.stgit@noble> This function allocates a bio, then a collection of pages. It copes with failure. It currently uses a mempool() to allocate the bio, but alloc_page() to allocate the pages. These fail in different ways, so the usage is inconsistent. Change the bio_clone() to bio_clone_kmalloc() so that no pool is used either for the bio or the pages. Signed-off-by: NeilBrown <neilb@suse.com> --- drivers/md/bcache/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c index 06f55056aaae..35a5a7210e51 100644 --- a/drivers/md/bcache/debug.c +++ b/drivers/md/bcache/debug.c @@ -110,7 +110,7 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) struct bio_vec bv, cbv; struct bvec_iter iter, citer = { 0 }; - check = bio_clone(bio, GFP_NOIO); + check = bio_clone_kmalloc(bio, GFP_NOIO); if (!check) return; check->bi_opf = REQ_OP_READ;
next prev parent reply other threads:[~2017-04-20 5:38 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-20 5:38 [PATCH 00/10] block: assorted cleanup for bio splitting and cloning NeilBrown 2017-04-20 5:38 ` NeilBrown 2017-04-20 5:38 ` [PATCH 00/11] " NeilBrown 2017-04-20 5:38 ` [PATCH 01/11] blk: remove bio_set arg from blk_queue_split() NeilBrown 2017-04-21 11:21 ` Christoph Hellwig 2017-04-21 15:14 ` Ming Lei 2017-04-22 9:16 ` Javier González 2017-04-24 2:32 ` NeilBrown 2017-04-20 5:38 ` [PATCH 02/11] blk: make the bioset rescue_workqueue optional NeilBrown 2017-04-21 11:24 ` Christoph Hellwig 2017-04-24 1:51 ` NeilBrown 2017-04-24 15:10 ` Christoph Hellwig 2017-05-01 5:00 ` NeilBrown 2017-05-01 14:02 ` Jens Axboe 2017-05-02 3:33 ` NeilBrown 2017-04-20 5:38 ` [PATCH 07/11] pktcdvd: use bio_clone_fast() instead of bio_clone() NeilBrown 2017-04-21 11:29 ` Christoph Hellwig 2017-04-20 5:38 ` [PATCH 05/11] rbd: " NeilBrown 2017-04-20 5:38 ` NeilBrown 2017-04-21 11:31 ` Christoph Hellwig 2017-04-20 5:38 ` [PATCH 03/11] blk: use non-rescuing bioset for q->bio_split NeilBrown 2017-04-21 11:25 ` Christoph Hellwig 2017-04-20 5:38 ` [PATCH 04/11] block: Improvements to bounce-buffer handling NeilBrown 2017-04-21 11:28 ` Christoph Hellwig 2017-04-21 15:39 ` Ming Lei 2017-04-20 5:38 ` [PATCH 06/11] drbd: use bio_clone_fast() instead of bio_clone() NeilBrown 2017-04-21 11:30 ` Christoph Hellwig 2017-04-20 5:38 ` NeilBrown [this message] 2017-04-20 5:38 ` [PATCH 09/11] bcache: use kmalloc to allocate bio in bch_data_verify() NeilBrown 2017-04-21 11:31 ` Christoph Hellwig 2017-04-21 11:32 ` Kent Overstreet 2017-04-21 15:41 ` Ming Lei 2017-04-20 5:38 ` [PATCH 08/11] xen-blkfront: remove bio splitting NeilBrown 2017-04-20 5:38 ` NeilBrown 2017-04-20 5:38 ` NeilBrown 2017-04-20 10:00 ` Roger Pau Monné 2017-04-20 10:00 ` Roger Pau Monné 2017-04-20 10:00 ` Roger Pau Monné 2017-04-21 11:36 ` Christoph Hellwig 2017-04-21 11:36 ` Christoph Hellwig 2017-04-21 11:46 ` Roger Pau Monne 2017-04-21 11:46 ` Roger Pau Monne 2017-04-20 5:38 ` [PATCH 11/11] block: don't check for BIO_MAX_PAGES in blk_bio_segment_split() NeilBrown 2017-04-21 11:34 ` Christoph Hellwig 2017-04-21 15:48 ` Ming Lei 2017-04-24 3:16 ` NeilBrown 2017-04-24 3:14 ` NeilBrown 2017-04-20 5:38 ` [PATCH 10/11] block: remove bio_clone() and all references NeilBrown 2017-04-21 11:32 ` Christoph Hellwig 2017-04-21 15:43 ` Ming Lei
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=149266673005.27388.9415706764616504556.stgit@noble \ --to=neilb@suse.com \ --cc=axboe@kernel.dk \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.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.