Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756209AbcKKMGR (ORCPT ); Fri, 11 Nov 2016 07:06:17 -0500 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33035 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751606AbcKKMGN (ORCPT ); Fri, 11 Nov 2016 07:06:13 -0500 From: Ming Lei To: Jens Axboe , linux-kernel@vger.kernel.org Cc: linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, Christoph Hellwig , Ming Lei , Adrian Hunter , Coly Li , dm-devel@redhat.com (open list:DEVICE-MAPPER (LVM)), drbd-dev@lists.linbit.com (open list:DRBD DRIVER), Eric Wheeler , Guoqing Jiang , Hannes Reinecke , Jiri Kosina , Johannes Thumshirn , Keith Busch , Kent Overstreet , linux-bcache@vger.kernel.org (open list:BCACHE (BLOCK LAYER CACHE)), linux-nvme@lists.infradead.org (open list:NVM EXPRESS TARGET DRIVER), linux-raid@vger.kernel.org (open list:SOFTWARE RAID (Multiple Disks) SUPPORT), linux-scsi@vger.kernel.org (open list:TARGET SUBSYSTEM), logfs@logfs.org (open list:LogFS), Mike Christie , Mike Snitzer , Rasmus Villemoes , target-devel@vger.kernel.org (open list:TARGET SUBSYSTEM), Yijing Wang , Zheng Liu Subject: [PATCH 00/12] block: cleanup direct access to bvec table Date: Fri, 11 Nov 2016 20:05:28 +0800 Message-Id: <1478865957-25252-1-git-send-email-tom.leiming@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2294 Lines: 61 Hi, This patchset cleans up direct access to bvec table. The 1st patch passes bvec table to bio_init(), so that direct access to bvec table in bio initialization is avoided. For other patches, most of them uses bio_add_page() to replace hardcode style of adding page to bvec, and others avoids to access bio->bi_vcnt. The most special one is to use bvec iterator helpers to implement .get_page/.next_page for dm-io.c One big motivation is to prepare for supporting multipage bvec, but this patchset is one good cleanup too even not for that purpose. Thanks, Ming Ming Lei (12): block: bio: pass bvec table to bio_init() block: drbd: remove impossible failure handling block: floppy: use bio_add_page() target: avoid to access .bi_vcnt directly bcache: debug: avoid to access .bi_io_vec directly dm: crypt: use bio_add_page() dm: use bvec iterator helpers to implement .get_page and .next_page dm: dm.c: replace 'bio->bi_vcnt == 1' with !bio_multiple_segments fs: logfs: convert to bio_add_page() in sync_request() fs: logfs: use bio_add_page() in __bdev_writeseg() fs: logfs: use bio_add_page() in do_erase() fs: logfs: remove unnecesary check block/bio.c | 8 ++- drivers/block/drbd/drbd_receiver.c | 14 +---- drivers/block/floppy.c | 10 ++-- drivers/md/bcache/debug.c | 11 ++-- drivers/md/bcache/io.c | 4 +- drivers/md/bcache/journal.c | 4 +- drivers/md/bcache/movinggc.c | 6 +-- drivers/md/bcache/request.c | 2 +- drivers/md/bcache/super.c | 12 ++--- drivers/md/bcache/writeback.c | 5 +- drivers/md/dm-bufio.c | 4 +- drivers/md/dm-crypt.c | 8 +-- drivers/md/dm-io.c | 34 ++++++++---- drivers/md/dm-rq.c | 7 ++- drivers/md/dm.c | 2 +- drivers/md/multipath.c | 2 +- drivers/md/raid5-cache.c | 2 +- drivers/md/raid5.c | 9 +--- drivers/nvme/target/io-cmd.c | 4 +- drivers/target/target_core_pscsi.c | 8 +-- fs/logfs/dev_bdev.c | 106 +++++++++++++------------------------ include/linux/bio.h | 3 +- 22 files changed, 107 insertions(+), 158 deletions(-) -- 2.7.4