summaryrefslogtreecommitdiffstats
path: root/fs/exofs/exofs.h
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2010-02-11 12:01:39 +0100
committerBoaz Harrosh <bharrosh@panasas.com>2010-02-28 12:55:53 +0100
commit50a76fd3c352ed2740eba01512efcfceee0703be (patch)
tree425416e068648e225b41327a120d00bbddd16d0e /fs/exofs/exofs.h
parentexofs: Prepare for groups (diff)
downloadlinux-50a76fd3c352ed2740eba01512efcfceee0703be.tar.xz
linux-50a76fd3c352ed2740eba01512efcfceee0703be.zip
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 {
unsigned mirrors_p1;
unsigned group_width;
+ u64 group_depth;
+ unsigned group_count;
enum exofs_inode_layout_gen_functions lay_func;
@@ -132,6 +134,7 @@ struct exofs_io_state {
struct page **pages;
unsigned nr_pages;
unsigned pgbase;
+ unsigned pages_consumed;
/* Attributes */
unsigned in_attr_len;