From: Wang Shilong <wshilong@xxxxxxx> This patch copies badblocks when the copying fs. Signed-off-by: Li Xi <lixi@xxxxxxx> Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Saranya Muruganandam <saranyamohan@xxxxxxxxxx> --- e2fsck/pass1.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 3a4286e1..14508dd8 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -2123,6 +2123,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; @@ -2155,6 +2161,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; } -- 2.29.2.299.gdc1121823c-goog