Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1370252 > unrolled thread
| Started by | Ming Lei <ming.lei@canonical.com> |
|---|---|
| First post | 2016-04-03 18:40 +0200 |
| Last post | 2016-04-03 20:20 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v2 2/8] block: move two bvec structure into bvec.h Ming Lei <ming.lei@canonical.com> - 2016-04-03 18:40 +0200
Re: [PATCH v2 2/8] block: move two bvec structure into bvec.h kbuild test robot <lkp@intel.com> - 2016-04-03 20:20 +0200
| From | Ming Lei <ming.lei@canonical.com> |
|---|---|
| Date | 2016-04-03 18:40 +0200 |
| Subject | [PATCH v2 2/8] block: move two bvec structure into bvec.h |
| Message-ID | <rjTea-6bQ-9@gated-at.bofh.it> |
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.
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 | 20 +++++++++++++++++++-
3 files changed, 20 insertions(+), 23 deletions(-)
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 78cf737..7f998ac 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 86a38ea..a8d8e1f 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..e111124 100644
--- a/include/linux/bvec.h
+++ b/include/linux/bvec.h
@@ -20,7 +20,25 @@
#ifndef __LINUX_BVEC_ITER_H
#define __LINUX_BVEC_ITER_H
-#include <linux/blk_types.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
[toc] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2016-04-03 20:20 +0200 |
| Message-ID | <rjUMW-7tf-13@gated-at.bofh.it> |
| In reply to | #1370252 |
[Multipart message — attachments visible in raw view] — view raw
Hi Ming,
[auto build test ERROR on block/for-next]
[also build test ERROR on v4.6-rc2 next-20160401]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Ming-Lei/block-prepare-for-multipage-bvecs/20160404-003648
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: arm-at91_dt_defconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm
All errors (new ones prefixed by >>):
In file included from include/linux/blk_types.h:9:0,
from arch/arm/include/asm/io.h:28,
from drivers/input/joydev.c:15:
include/linux/bvec.h: In function 'bvec_iter_advance':
>> include/linux/bvec.h:69:2: error: implicit declaration of function 'WARN_ONCE' [-Werror=implicit-function-declaration]
WARN_ONCE(bytes > iter->bi_size,
^
>> include/linux/bvec.h:73:3: error: implicit declaration of function 'min' [-Werror=implicit-function-declaration]
unsigned len = min(bytes, bvec_iter_len(bv, *iter));
^
cc1: some warnings being treated as errors
vim +/WARN_ONCE +69 include/linux/bvec.h
0d61ba15 Ming Lei 2016-04-04 63 .bv_offset = bvec_iter_offset((bvec), (iter)), \
0d61ba15 Ming Lei 2016-04-04 64 })
0d61ba15 Ming Lei 2016-04-04 65
0d61ba15 Ming Lei 2016-04-04 66 static inline void bvec_iter_advance(struct bio_vec *bv, struct bvec_iter *iter,
0d61ba15 Ming Lei 2016-04-04 67 unsigned bytes)
0d61ba15 Ming Lei 2016-04-04 68 {
0d61ba15 Ming Lei 2016-04-04 @69 WARN_ONCE(bytes > iter->bi_size,
0d61ba15 Ming Lei 2016-04-04 70 "Attempted to advance past end of bvec iter\n");
0d61ba15 Ming Lei 2016-04-04 71
0d61ba15 Ming Lei 2016-04-04 72 while (bytes) {
0d61ba15 Ming Lei 2016-04-04 @73 unsigned len = min(bytes, bvec_iter_len(bv, *iter));
0d61ba15 Ming Lei 2016-04-04 74
0d61ba15 Ming Lei 2016-04-04 75 bytes -= len;
0d61ba15 Ming Lei 2016-04-04 76 iter->bi_size -= len;
:::::: The code at line 69 was first introduced by commit
:::::: 0d61ba15b7eb4a7478dae53947aaaf898a1bbf30 block: move bvec iterator into include/linux/bvec.h
:::::: TO: Ming Lei <ming.lei@canonical.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web