Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5176361imu; Sun, 25 Nov 2018 18:22:45 -0800 (PST) X-Google-Smtp-Source: AFSGD/VdjqW5RWg/+b2SeWAct5QwZ6NOnddlgLqj+2yucFYIm0FrBR3lLN0Bfv6IDMHk96XRriCU X-Received: by 2002:a63:a84a:: with SMTP id i10mr23325603pgp.263.1543198965368; Sun, 25 Nov 2018 18:22:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543198965; cv=none; d=google.com; s=arc-20160816; b=KJqwRibM6NM6riikcC4rBgt59Dh9hwX+T+5/slsE7yLuH2YCjCrTT43oy3AQ2eThkZ dmd/QL8CQLHz7VDVPN2ZOm+oRYBFav1PqgBA7phpndWXhLzpbeVX7IytPaWD7fYBZkJD u358fHANqzIMO0UhMFRt4ZE5NqUqMjeAAVwnzxKZDRw4XOb95xYnOyFTHygH9btDtugW eg9a4GRo5z/hillnuHfHZXnkPrU5lzb7Yye0Ni1vdYY5fB7h6Ur9AbHrzFPKchg7YCl2 CthxAwdqyuFPorjn8asdlgFFXnyPP6DiCyRvOPHhU6Yq68lqed3lz7umk92HeoaQnmfD YpMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=J+Wkn7ss71nFXVcnKcca2rbr8+sm4+oaNEhSOc+cM7w=; b=g4MVbjutdDvcnXaCvHsCvk793wOcJGmcRcHCF5BChhfM6bk1hxBUukYwE8gCs7P8lC +9R+uvlbhuXsWqA3Cjft4eKP2YL2+fr5DFeYZ040v6mDyHpqTm6qZVbyOMd8ry0ezN9/ ZjF2CZbEk2ix1auwV8STJsxUjPw1Ls8sQtYMzNWROBUGLHbcevTP5HQeTCZzJndOoeh+ tJxldQILNSFeXazKMKLOm3o59nltII1XWX0P6DO28dUH7jbF4L1o08YRqjq51MmbHTx4 hnsyiS9zpkIsBVg7jY9DnvJ/K5+iwxg8lQbL0yOmyq/VZzAndlD/87PHPrk1gmHeKRSd wrnw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h2-v6si8917399pli.412.2018.11.25.18.22.30; Sun, 25 Nov 2018 18:22:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726772AbeKZNNG (ORCPT + 99 others); Mon, 26 Nov 2018 08:13:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43610 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726101AbeKZNNF (ORCPT ); Mon, 26 Nov 2018 08:13:05 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7159030A3143; Mon, 26 Nov 2018 02:20:29 +0000 (UTC) Received: from localhost (ovpn-8-19.pek2.redhat.com [10.72.8.19]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2A0321054FBA; Mon, 26 Nov 2018 02:20:17 +0000 (UTC) From: Ming Lei To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Theodore Ts'o , Omar Sandoval , Sagi Grimberg , Dave Chinner , Kent Overstreet , Mike Snitzer , dm-devel@redhat.com, Alexander Viro , linux-fsdevel@vger.kernel.org, Shaohua Li , linux-raid@vger.kernel.org, David Sterba , linux-btrfs@vger.kernel.org, "Darrick J . Wong" , linux-xfs@vger.kernel.org, Gao Xiang , Christoph Hellwig , linux-ext4@vger.kernel.org, Coly Li , linux-bcache@vger.kernel.org, Boaz Harrosh , Bob Peterson , cluster-devel@redhat.com, Ming Lei Subject: [PATCH V12 14/20] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() Date: Mon, 26 Nov 2018 10:17:14 +0800 Message-Id: <20181126021720.19471-15-ming.lei@redhat.com> In-Reply-To: <20181126021720.19471-1-ming.lei@redhat.com> References: <20181126021720.19471-1-ming.lei@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Mon, 26 Nov 2018 02:20:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org bch_bio_alloc_pages() is always called on one new bio, so it is safe to access the bvec table directly. Given it is the only kind of this case, open code the bvec table access since bio_for_each_segment_all() will be changed to support for iterating over multipage bvec. Acked-by: Coly Li Reviewed-by: Christoph Hellwig Signed-off-by: Ming Lei --- drivers/md/bcache/util.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c index 20eddeac1531..62fb917f7a4f 100644 --- a/drivers/md/bcache/util.c +++ b/drivers/md/bcache/util.c @@ -270,7 +270,11 @@ int bch_bio_alloc_pages(struct bio *bio, gfp_t gfp_mask) int i; struct bio_vec *bv; - bio_for_each_segment_all(bv, bio, i) { + /* + * This is called on freshly new bio, so it is safe to access the + * bvec table directly. + */ + for (i = 0, bv = bio->bi_io_vec; i < bio->bi_vcnt; bv++, i++) { bv->bv_page = alloc_page(gfp_mask); if (!bv->bv_page) { while (--bv >= bio->bi_io_vec) -- 2.9.5