summaryrefslogtreecommitdiff
path: root/super1.c
diff options
context:
space:
mode:
Diffstat (limited to 'super1.c')
-rw-r--r--super1.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/super1.c b/super1.c
index ee7b18b..e6495ac 100644
--- a/super1.c
+++ b/super1.c
@@ -1189,9 +1189,9 @@ static int write_init_super1(struct supertype *st)
sb->data_size = __cpu_to_le64(sb_offset - bm_space);
break;
case 1:
+ sb->super_offset = __cpu_to_le64(0);
data_offset = (long long)(int64_t)__le64_to_cpu(sb->data_offset);
if (data_offset < 0) {
- sb->super_offset = __cpu_to_le64(0);
reserved = bm_space + 4*2;
/* Try for multiple of 1Meg so it is nicely aligned */
#define ONE_MEG (2*1024)
@@ -1210,10 +1210,10 @@ static int write_init_super1(struct supertype *st)
sb->data_size = __cpu_to_le64(dsize - reserved);
break;
case 2:
+ sb_offset = 4*2;
+ sb->super_offset = __cpu_to_le64(4*2);
data_offset = (long long)(int64_t)__le64_to_cpu(sb->data_offset);
if (data_offset < 0) {
- sb_offset = 4*2;
- sb->super_offset = __cpu_to_le64(4*2);
if (4*2 + 4*2 + bm_space + __le64_to_cpu(sb->size)
> dsize)
bm_space = dsize - __le64_to_cpu(sb->size)