summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-03-26 09:39:59 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-03-26 09:39:59 -0400
commit7c66e9fac5c7883fb85107f06f472a2fa3ed4322 (patch)
tree51dbc1ebf5f121ff96f4fcee84f68fce44be76e0
parent2160e9a7bd9b779cc1d8d050ea8e6760df7db8ce (diff)
migrate_superblock: make sure we remove old superblock
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--c_src/cmd_migrate.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/c_src/cmd_migrate.c b/c_src/cmd_migrate.c
index 8155a2b3..639aba64 100644
--- a/c_src/cmd_migrate.c
+++ b/c_src/cmd_migrate.c
@@ -419,6 +419,11 @@ int cmd_migrate_superblock(int argc, char *argv[])
sb->layout.sb_offset[0] = cpu_to_le64(BCH_SB_SECTOR);
sb->layout.sb_offset[1] = cpu_to_le64(BCH_SB_SECTOR + sb_size);
+ /* also write first 0-3.5k bytes with zeroes, ensure we blow away old
+ * superblock */
+ static const char zeroes[BCH_SB_SECTOR << 9];
+ xpwrite(fd, zeroes, BCH_SB_SECTOR << 9, 0, "zeroing start of disk");
+
bch2_super_write(fd, sb);
close(fd);