aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exofs/exofs.h
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2010-02-11 06:01:39 -0500
committerBoaz Harrosh <bharrosh@panasas.com>2010-02-28 06:55:53 -0500
commit50a76fd3c352ed2740eba01512efcfceee0703be (patch)
tree425416e068648e225b41327a120d00bbddd16d0e /fs/exofs/exofs.h
parentb367e78bd1c7af4c018ce98b1f6d3e001aba895a (diff)
exofs: groups support
* _calc_stripe_info() changes to accommodate for grouping calculations. Returns additional information * old _prepare_pages() becomes _prepare_one_group() which stores pages belonging to one device group. * New _prepare_for_striping iterates on all groups calling _prepare_one_group(). * Enable mounting of groups data_maps (group_width != 0) [QUESTION] what is faster A or B; A. x += stride; x = x % width + first_x; B x += stride if (x < last_x) x = first_x; Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r--fs/exofs/exofs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h
index acfebd36de83..59b8bf2825c7 100644
--- a/fs/exofs/exofs.h
+++ b/fs/exofs/exofs.h
@@ -63,6 +63,8 @@ struct exofs_layout {
63 unsigned mirrors_p1; 63 unsigned mirrors_p1;
64 64
65 unsigned group_width; 65 unsigned group_width;
66 u64 group_depth;
67 unsigned group_count;
66 68
67 enum exofs_inode_layout_gen_functions lay_func; 69 enum exofs_inode_layout_gen_functions lay_func;
68 70
@@ -132,6 +134,7 @@ struct exofs_io_state {
132 struct page **pages; 134 struct page **pages;
133 unsigned nr_pages; 135 unsigned nr_pages;
134 unsigned pgbase; 136 unsigned pgbase;
137 unsigned pages_consumed;
135 138
136 /* Attributes */ 139 /* Attributes */
137 unsigned in_attr_len; 140 unsigned in_attr_len;