aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exofs/exofs.h
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2010-01-28 11:24:06 -0500
committerBoaz Harrosh <bharrosh@panasas.com>2010-02-28 06:44:42 -0500
commit86093aaff5be5b214613eb60553e236bdb389c84 (patch)
tree64993f3fff8b60408441e8912aa5690346108492 /fs/exofs/exofs.h
parent5d952b8391692553c31e620a92d6e09262a9a307 (diff)
exofs: convert io_state to use pages array instead of bio at input
* inode.c operations are full-pages based, and not actually true scatter-gather * Lets us use more pages at once upto 512 (from 249) in 64 bit * Brings us much much closer to be able to use exofs's io_state engine from objlayout driver. (Once I decide where to put the common code) After RAID0 patch the outer (input) bio was never used as a bio, but was simply a page carrier into the raid engine. Even in the simple mirror/single-dev arrangement pages info was copied into a second bio. It is now easer to just pass a pages array into the io_state and prepare bio(s) once. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r--fs/exofs/exofs.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h
index 0d8a34b21ae1..acfebd36de83 100644
--- a/fs/exofs/exofs.h
+++ b/fs/exofs/exofs.h
@@ -128,7 +128,10 @@ struct exofs_io_state {
128 loff_t offset; 128 loff_t offset;
129 unsigned long length; 129 unsigned long length;
130 void *kern_buff; 130 void *kern_buff;
131 struct bio *bio; 131
132 struct page **pages;
133 unsigned nr_pages;
134 unsigned pgbase;
132 135
133 /* Attributes */ 136 /* Attributes */
134 unsigned in_attr_len; 137 unsigned in_attr_len;