diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2010-02-11 06:01:39 -0500 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2010-02-28 06:55:53 -0500 |
commit | 50a76fd3c352ed2740eba01512efcfceee0703be (patch) | |
tree | 425416e068648e225b41327a120d00bbddd16d0e /fs/exofs/exofs.h | |
parent | b367e78bd1c7af4c018ce98b1f6d3e001aba895a (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.h | 3 |
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; |