From patchwork Mon May 30 13:34:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 9141455 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id F2D6660754 for ; Mon, 30 May 2016 13:36:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E720627C23 for ; Mon, 30 May 2016 13:36:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DB859280B2; Mon, 30 May 2016 13:36:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DB71627C23 for ; Mon, 30 May 2016 13:36:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161251AbcE3NgX (ORCPT ); Mon, 30 May 2016 09:36:23 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33645 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161230AbcE3NgV (ORCPT ); Mon, 30 May 2016 09:36:21 -0400 Received: by mail-pf0-f195.google.com with SMTP id b124so21860456pfb.0; Mon, 30 May 2016 06:36:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=vtxpgBqb2gGOTOrrPGweWAa79QSpwtdU86+IXJtxYqY=; b=VEV3dyiyDb/4mQqcQR0T1uAhxws9hUJpMS44ecrpzwY0qvghNJyhpopHmq3dlfyN0S 3ZoUAPRkvWSFzncY2c2hFICKptME56ZWX81Eqj4o9U9lZtmXdAbijhS80NMx3CojemNN X3x7dBx8Hwq7KP7JinYi53l8O4hgLz8YZRL98qp6LyStaZUHzft1aGEoCHBKXOmH5atO xQiG4dPGBrkXeBzlTCUui9u+tVGBmnrzF/AuoSTSiDHsFOClBFBzqsRhTog1sn8ImYnC GLPNwEfbnT5CuLHguLcfxm4ZA1WCo2OJojHRVbVLI3+QsJCUgOWpYqh0e1MIsGnHCYEF p7AA== X-Gm-Message-State: ALyK8tL4/LPaeCBV07ssunNFHE9hdhaZ6Ivz6L69OASa/ma5Q4dOpuMJ9ZlGsa0lYdWNmQ== X-Received: by 10.98.38.134 with SMTP id m128mr35721644pfm.152.1464615380806; Mon, 30 May 2016 06:36:20 -0700 (PDT) Received: from localhost ([45.34.23.101]) by smtp.gmail.com with ESMTPSA id 14sm13069424pfu.83.2016.05.30.06.36.19 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Mon, 30 May 2016 06:36:20 -0700 (PDT) From: Ming Lei To: Jens Axboe , linux-kernel@vger.kernel.org Cc: linux-block@vger.kernel.org, Christoph Hellwig , Ming Lei , Keith Busch , Kent Overstreet , Michal Hocko , "Kirill A. Shutemov" , Tejun Heo , Mike Snitzer , Jan Kara , Shaohua Li Subject: [PATCH v6 2/8] block: move two bvec structure into bvec.h Date: Mon, 30 May 2016 21:34:30 +0800 Message-Id: <1464615294-9946-3-git-send-email-ming.lei@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1464615294-9946-1-git-send-email-ming.lei@canonical.com> References: <1464615294-9946-1-git-send-email-ming.lei@canonical.com> Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch moves 'struct bio_vec' and 'struct bvec_iter' into 'include/linux/bvec.h', then always include this header into 'include/linux/blk_types.h'. With this change, both 'struct bvec_iter' and bvec iterator helpers don't depend on CONFIG_BLOCK any more, then we can use bvec iterator to implement iterate_bvec(): lib/iov_iter.c. Reviewed-by: Christoph Hellwig Suggested-by: Christoph Hellwig Signed-off-by: Ming Lei --- include/linux/bio.h | 1 - include/linux/blk_types.h | 22 +--------------------- include/linux/bvec.h | 23 ++++++++++++++++++++++- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/linux/bio.h b/include/linux/bio.h index ed4bfb9..8555b90 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -31,7 +31,6 @@ /* struct bio, bio_vec and BIO_* flags are defined in blk_types.h */ #include -#include #define BIO_DEBUG diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index 77e5d81..dadc240 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -6,6 +6,7 @@ #define __LINUX_BLK_TYPES_H #include +#include struct bio_set; struct bio; @@ -17,28 +18,7 @@ struct cgroup_subsys_state; typedef void (bio_end_io_t) (struct bio *); typedef void (bio_destructor_t) (struct bio *); -/* - * was unsigned short, but we might as well be ready for > 64kB I/O pages - */ -struct bio_vec { - struct page *bv_page; - unsigned int bv_len; - unsigned int bv_offset; -}; - #ifdef CONFIG_BLOCK - -struct bvec_iter { - sector_t bi_sector; /* device address in 512 byte - sectors */ - unsigned int bi_size; /* residual I/O count */ - - unsigned int bi_idx; /* current index into bvl_vec */ - - unsigned int bi_bvec_done; /* number of bytes completed in - current bvec */ -}; - /* * main unit of I/O for the block layer and lower layers (ie drivers and * stacking drivers) diff --git a/include/linux/bvec.h b/include/linux/bvec.h index 29c459d..096efd2 100644 --- a/include/linux/bvec.h +++ b/include/linux/bvec.h @@ -20,7 +20,28 @@ #ifndef __LINUX_BVEC_ITER_H #define __LINUX_BVEC_ITER_H -#include +#include +#include + +/* + * was unsigned short, but we might as well be ready for > 64kB I/O pages + */ +struct bio_vec { + struct page *bv_page; + unsigned int bv_len; + unsigned int bv_offset; +}; + +struct bvec_iter { + sector_t bi_sector; /* device address in 512 byte + sectors */ + unsigned int bi_size; /* residual I/O count */ + + unsigned int bi_idx; /* current index into bvl_vec */ + + unsigned int bi_bvec_done; /* number of bytes completed in + current bvec */ +}; /* * various member access, note that bio_data should of course not be used