[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a9d5cf1c-91f4-4dbd-5b2f-e7b4998b6e34@suse.de>
Date: Fri, 30 Dec 2016 19:06:02 +0800
From: Coly Li <colyli@...e.de>
To: Ming Lei <tom.leiming@...il.com>, Jens Axboe <axboe@...com>,
linux-kernel@...r.kernel.org
Cc: linux-block@...r.kernel.org, Christoph Hellwig <hch@...radead.org>,
Jens Axboe <axboe@...nel.dk>,
Kent Overstreet <kent.overstreet@...il.com>,
Shaohua Li <shli@...nel.org>,
Mike Christie <mchristi@...hat.com>,
Guoqing Jiang <gqjiang@...e.com>,
Hannes Reinecke <hare@...e.com>,
"open list:BCACHE (BLOCK LAYER CACHE)" <linux-bcache@...r.kernel.org>,
"open list:SOFTWARE RAID (Multiple Disks) SUPPORT"
<linux-raid@...r.kernel.org>
Subject: Re: [PATCH v1 08/54] block: comment on bio_alloc_pages()
On 2016/12/27 下午11:55, Ming Lei wrote:
> This patch adds comment on usage of bio_alloc_pages(),
> also comments on one special case of bch_data_verify().
>
> Signed-off-by: Ming Lei <tom.leiming@...il.com>
> ---
> block/bio.c | 4 +++-
> drivers/md/bcache/debug.c | 6 ++++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/block/bio.c b/block/bio.c
> index 2b375020fc49..d4a1e0b63ea0 100644
> --- a/block/bio.c
> +++ b/block/bio.c
> @@ -961,7 +961,9 @@ EXPORT_SYMBOL(bio_advance);
> * @bio: bio to allocate pages for
> * @gfp_mask: flags for allocation
> *
> - * Allocates pages up to @bio->bi_vcnt.
> + * Allocates pages up to @bio->bi_vcnt, and this function should only
> + * be called on a new initialized bio, which means all pages aren't added
> + * to the bio via bio_add_page() yet.
> *
> * Returns 0 on success, -ENOMEM on failure. On failure, any allocated pages are
> * freed.
> diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c
> index 06f55056aaae..48d03e8b3385 100644
> --- a/drivers/md/bcache/debug.c
> +++ b/drivers/md/bcache/debug.c
> @@ -110,6 +110,12 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio)
> struct bio_vec bv, cbv;
> struct bvec_iter iter, citer = { 0 };
>
> + /*
> + * Once multipage bvec is supported, the bio_clone()
> + * has to make sure page count in this bio can be held
> + * in the new cloned bio because each single page need
> + * to assign to each bvec of the new bio.
> + */
> check = bio_clone(bio, GFP_NOIO);
> if (!check)
> return;
>
Acked-by: Coly Li <colyli@...e.de>
Powered by blists - more mailing lists