From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755452AbcL0QAy (ORCPT ); Tue, 27 Dec 2016 11:00:54 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35324 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752673AbcL0P7v (ORCPT ); Tue, 27 Dec 2016 10:59:51 -0500 From: Ming Lei To: Jens Axboe , linux-kernel@vger.kernel.org Cc: linux-block@vger.kernel.org, Christoph Hellwig , Ming Lei , Jens Axboe , Kent Overstreet , Shaohua Li , Mike Christie , Guoqing Jiang , Hannes Reinecke , linux-bcache@vger.kernel.org (open list:BCACHE (BLOCK LAYER CACHE)), linux-raid@vger.kernel.org (open list:SOFTWARE RAID (Multiple Disks) SUPPORT) Subject: [PATCH v1 08/54] block: comment on bio_alloc_pages() Date: Tue, 27 Dec 2016 23:55:57 +0800 Message-Id: <1482854250-13481-9-git-send-email-tom.leiming@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1482854250-13481-1-git-send-email-tom.leiming@gmail.com> References: <1482854250-13481-1-git-send-email-tom.leiming@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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; -- 2.7.4