===================================================================
RCS file: /cvs/dm/dmraid/lib/format/ddf/ddf1.c,v
retrieving revision 1.8
@@ -526,7 +526,7 @@
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;
@@ -962,6 +962,7 @@
ma[i].offset = ddf1->primary->primary_table_lba;
ma->offset = ddf1->anchor_offset;
+ ma->size = DDF1_BLKSIZE;
(ma++)->area = &ddf1->anchor;
(ma++)->area = ddf1->primary;
===================================================================
RCS file: /cvs/dm/dmraid/lib/format/ddf/ddf1_dump.c,v
retrieving revision 1.3
@@ -60,7 +60,7 @@
{
log_print(lc, "%s (%s):", di->path, handler);
log_print(lc, "DDF1 anchor at %llu with tables in %s-endian format.",
- ddf1->anchor_offset / DDF1_BLKSIZE,
+ ddf1->anchor_offset,
(ddf1->disk_format == LITTLE_ENDIAN ? "little" : "big"));
}
Hi, current dmraid cannot erase ddf metadata. It tries to seek to an offset too big by a factor of 512, and then writes zero bytes to the anchor. "ddf1->anchor_offset" is set to a number of bytes and sometimes treated as bytes - sometimes as sectors. This patch makes it always sectors and also sets the size of the anchor metadata area to DDF1_BLKSIZE Signed-off-by: NeilBrown <neilb@suse.de> -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel