From 8796a35998b87f64bea015a978ce7e421942c718 Mon Sep 17 00:00:00 2001 From: Wang Shilong Date: Wed, 9 Sep 2020 15:07:10 +0800 Subject: [PATCH] e2fsck: copy badblocks when copying fs This patch copies badblocks when the copying fs. E2fsprogs-commit: 8095b716e15bb15a47925ae02cb1c06e91fdb651 Change-Id: Ibf5718ad5851a9ccd853a2a1f928bce447aa5de9 Signed-off-by: Li Xi Signed-off-by: Wang Shilong Reviewed-by: Andreas Dilger Signed-off-by: Theodore Ts'o --- e2fsck/pass1.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 0a11147..40fdff6 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -2249,6 +2249,12 @@ static errcode_t e2fsck_pass1_copy_fs(ext2_filsys dest, ext2_filsys src) return retval; } + if (src->badblocks) { + retval = ext2fs_badblocks_copy(src->badblocks, &dest->badblocks); + if (retval) + return retval; + } + /* icache will be rebuilt if needed, so do not copy from @src */ src->icache = NULL; return 0; @@ -2281,6 +2287,13 @@ static int e2fsck_pass1_merge_fs(ext2_filsys dest, ext2_filsys src) src->icache = NULL; } + if (src->badblocks) { + retval = ext2fs_badblocks_copy(src->badblocks, &dest->badblocks); + + ext2fs_badblocks_list_free(src->badblocks); + src->badblocks = NULL; + } + return retval; } -- 1.8.3.1