All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@canonical.com>
To: Jens Axboe <axboe@fb.com>, linux-kernel@vger.kernel.org
Cc: linux-block@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Ming Lei <ming.lei@canonical.com>,
	Keith Busch <keith.busch@intel.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	Michal Hocko <mhocko@suse.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Tejun Heo <tj@kernel.org>, Mike Snitzer <snitzer@redhat.com>,
	Jan Kara <jack@suse.cz>, Shaohua Li <shli@fb.com>
Subject: [PATCH v6 2/8] block: move two bvec structure into bvec.h
Date: Mon, 30 May 2016 21:34:30 +0800	[thread overview]
Message-ID: <1464615294-9946-3-git-send-email-ming.lei@canonical.com> (raw)
In-Reply-To: <1464615294-9946-1-git-send-email-ming.lei@canonical.com>

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 <hch@lst.de>
Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
 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 <linux/blk_types.h>
-#include <linux/bvec.h>
 
 #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 <linux/types.h>
+#include <linux/bvec.h>
 
 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 <linux/blk_types.h>
+#include <linux/kernel.h>
+#include <linux/bug.h>
+
+/*
+ * 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
-- 
1.9.1


  parent reply	other threads:[~2016-05-30 13:36 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-30 13:34 [PATCH v6 0/8] block: prepare for multipage bvecs Ming Lei
2016-05-30 13:34 ` Ming Lei
2016-05-30 13:34 ` [PATCH v6 1/8] block: move bvec iterator into include/linux/bvec.h Ming Lei
2016-05-30 13:34 ` Ming Lei [this message]
2016-05-30 13:34 ` [PATCH v6 3/8] block: mark 1st parameter of bvec_iter_advance as const Ming Lei
2016-05-30 13:34 ` [PATCH v6 4/8] iov_iter: use bvec iterator to implement iterate_bvec() Ming Lei
2016-05-30 13:34 ` [PATCH v6 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES Ming Lei
2016-05-30 13:34   ` Ming Lei
2016-06-01 13:48   ` Christoph Hellwig
2016-06-01 13:48     ` Christoph Hellwig
2016-06-02  3:32     ` Ming Lei
2016-06-02  3:32       ` Ming Lei
2016-05-30 13:34 ` [PATCH v6 6/8] block: bio: remove BIO_MAX_SECTORS Ming Lei
2016-05-30 13:34 ` [PATCH v6 7/8] block: drbd: avoid to use BIO_MAX_SIZE Ming Lei
2016-05-30 13:34 ` [PATCH v6 8/8] block: mark BIO_MAX_SIZE as obsolete Ming Lei
2016-05-31 16:07   ` Jens Axboe
2016-05-31 15:53 ` [PATCH v6 0/8] block: prepare for multipage bvecs Mike Snitzer
2016-05-31 15:53   ` Mike Snitzer
2016-06-01 12:38   ` Ming Lei
2016-06-01 12:38     ` Ming Lei
2016-06-01 13:44     ` Christoph Hellwig
2016-06-01 13:44       ` Christoph Hellwig
2016-06-01 13:51       ` Mike Snitzer
2016-06-01 13:51         ` Mike Snitzer
2016-06-01 14:05         ` Christoph Hellwig
2016-06-01 14:05           ` Christoph Hellwig
2016-06-02  2:13         ` Ming Lei
2016-06-02  2:13           ` Ming Lei
2016-06-01 13:43 ` Christoph Hellwig
2016-06-01 13:43   ` Christoph Hellwig
2016-06-01 13:53   ` Hannes Reinecke
2016-06-01 13:53     ` Hannes Reinecke
2016-06-01 13:53     ` Hannes Reinecke
2016-06-01 13:57     ` Mike Snitzer
2016-06-01 13:57       ` Mike Snitzer
2016-06-09 16:06 ` Jens Axboe
2016-06-09 16:06   ` Jens Axboe
2016-06-10  2:44   ` Ming Lei
2016-06-10  2:44     ` Ming Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464615294-9946-3-git-send-email-ming.lei@canonical.com \
    --to=ming.lei@canonical.com \
    --cc=axboe@fb.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=keith.busch@intel.com \
    --cc=kent.overstreet@gmail.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhocko@suse.com \
    --cc=shli@fb.com \
    --cc=snitzer@redhat.com \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.