super1: fix setting of data_offset for 1.0 metadata.
commit 23bf42cc79
super1: simplify setting of array size.
removed the setting for sb->data_offset for 1.0 metadata for some reason,
and messed up the size calculation for 1.0 metadata too.
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
632dc30ccf
commit
4c0ea7b0d9
3
super1.c
3
super1.c
|
@ -1638,6 +1638,7 @@ static int write_init_super1(struct supertype *st)
|
||||||
sb_offset = dsize;
|
sb_offset = dsize;
|
||||||
sb_offset -= 8*2;
|
sb_offset -= 8*2;
|
||||||
sb_offset &= ~(4*2-1);
|
sb_offset &= ~(4*2-1);
|
||||||
|
sb->data_offset = __cpu_to_le64(data_offset);
|
||||||
sb->super_offset = __cpu_to_le64(sb_offset);
|
sb->super_offset = __cpu_to_le64(sb_offset);
|
||||||
if (sb_offset < array_size + bm_space)
|
if (sb_offset < array_size + bm_space)
|
||||||
bm_space = sb_offset - array_size;
|
bm_space = sb_offset - array_size;
|
||||||
|
@ -2311,7 +2312,7 @@ static int validate_geometry1(struct supertype *st, int level,
|
||||||
case 0: /* metadata at end. Round down and subtract space to reserve */
|
case 0: /* metadata at end. Round down and subtract space to reserve */
|
||||||
devsize = (devsize & ~(4ULL*2-1));
|
devsize = (devsize & ~(4ULL*2-1));
|
||||||
/* space for metadata, bblog, bitmap */
|
/* space for metadata, bblog, bitmap */
|
||||||
devsize -= 8*2 - 8 - bmspace;
|
devsize -= 8*2 + 8 + bmspace;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
|
|
Loading…
Reference in New Issue