aboutsummaryrefslogtreecommitdiffstats
path: root/super-ddf.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2012-10-04 16:34:20 +1000
committerNeilBrown <neilb@suse.de>2012-10-04 16:34:20 +1000
commitaf4348ddd101b8cb0ffc303f43544f49419a1658 (patch)
treee2cb9d59cd80e4562cf9872c18d9c43a97e93572 /super-ddf.c
parent387fcd593c7a257618fa11ed4cf57d655ace4ada (diff)
downloadmdadm-af4348ddd101b8cb0ffc303f43544f49419a1658.tar.gz
Add data_offset arg to ->validate_geometry.
This is needed to return correct available size. It isn't really used yet. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'super-ddf.c')
-rw-r--r--super-ddf.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/super-ddf.c b/super-ddf.c
index fbcdef62..7ab8f2c1 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -2581,18 +2581,21 @@ static int
validate_geometry_ddf_container(struct supertype *st,
int level, int layout, int raiddisks,
int chunk, unsigned long long size,
+ unsigned long long data_offset,
char *dev, unsigned long long *freesize,
int verbose);
static int validate_geometry_ddf_bvd(struct supertype *st,
int level, int layout, int raiddisks,
int *chunk, unsigned long long size,
+ unsigned long long data_offset,
char *dev, unsigned long long *freesize,
int verbose);
static int validate_geometry_ddf(struct supertype *st,
int level, int layout, int raiddisks,
int *chunk, unsigned long long size,
+ unsigned long long data_offset,
char *dev, unsigned long long *freesize,
int verbose)
{
@@ -2615,7 +2618,8 @@ static int validate_geometry_ddf(struct supertype *st,
/* Must be a fresh device to add to a container */
return validate_geometry_ddf_container(st, level, layout,
raiddisks, chunk?*chunk:0,
- size, dev, freesize,
+ size, data_offset, dev,
+ freesize,
verbose);
}
@@ -2652,7 +2656,8 @@ static int validate_geometry_ddf(struct supertype *st,
* Should make a distinction one day.
*/
return validate_geometry_ddf_bvd(st, level, layout, raiddisks,
- chunk, size, dev, freesize,
+ chunk, size, data_offset, dev,
+ freesize,
verbose);
}
/* This is the first device for the array.
@@ -2710,6 +2715,7 @@ static int validate_geometry_ddf(struct supertype *st,
close(cfd);
return validate_geometry_ddf_bvd(st, level, layout,
raiddisks, chunk, size,
+ data_offset,
dev, freesize,
verbose);
}
@@ -2724,6 +2730,7 @@ static int
validate_geometry_ddf_container(struct supertype *st,
int level, int layout, int raiddisks,
int chunk, unsigned long long size,
+ unsigned long long data_offset,
char *dev, unsigned long long *freesize,
int verbose)
{
@@ -2758,6 +2765,7 @@ validate_geometry_ddf_container(struct supertype *st,
static int validate_geometry_ddf_bvd(struct supertype *st,
int level, int layout, int raiddisks,
int *chunk, unsigned long long size,
+ unsigned long long data_offset,
char *dev, unsigned long long *freesize,
int verbose)
{