Allow dmraid to erase ddf metadata properly. 2 things go wrong: 1/ when seeking to the anchor, it seeks to far by a factor of 512 2/ when writing to the anchor, it writes 0 bytes, not 512. Signed-off-by: NeilBrown References: bnc#712671 --- lib/format/ddf/ddf1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- 1.0.0.rc16.orig/lib/format/ddf/ddf1.c +++ 1.0.0.rc16/lib/format/ddf/ddf1.c @@ -536,7 +536,7 @@ try_to_find_ddf1(struct lib_context *lc, ddf1_sboffset) || !is_ddf1(lc, di, ddf1)) goto bad; - ddf1->anchor_offset = ddf1_sboffset; + ddf1->anchor_offset = ddf1_sboffset / 512; /* Convert endianness */ ddf1->in_cpu_format = 0; @@ -967,6 +967,7 @@ setup_rd(struct lib_context *lc, struct ma[i].offset = ddf1->primary->primary_table_lba; ma->offset = ddf1->anchor_offset; + ma->size = 512; (ma++)->area = &ddf1->anchor; (ma++)->area = ddf1->primary;