Commit c6e0a402 authored by Pavel Emelyanov's avatar Pavel Emelyanov

dump: Fix up error path of pages dump

Call the fini stage even if the dump failed.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent fab5f12f
...@@ -575,7 +575,7 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head *vma_a ...@@ -575,7 +575,7 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head *vma_a
sizeof(parasite_dumppages)); sizeof(parasite_dumppages));
if (ret) { if (ret) {
pr_err("Dumping pages failed with %d\n", ret); pr_err("Dumping pages failed with %d\n", ret);
goto out; goto out_fini;
} }
pr_info("vma %lx-%lx dumped: %lu pages %lu skipped %lu total\n", pr_info("vma %lx-%lx dumped: %lu pages %lu skipped %lu total\n",
...@@ -589,13 +589,13 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head *vma_a ...@@ -589,13 +589,13 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head *vma_a
nrpages_total += parasite_dumppages.nrpages_total; nrpages_total += parasite_dumppages.nrpages_total;
} }
parasite_execute(PARASITE_CMD_DUMPPAGES_FINI, ctl, NULL, 0);
pr_info("\n"); pr_info("\n");
pr_info("Summary: %lu dumped %lu skipped %lu total\n", pr_info("Summary: %lu dumped %lu skipped %lu total\n",
nrpages_dumped, nrpages_skipped, nrpages_total); nrpages_dumped, nrpages_skipped, nrpages_total);
ret = 0; ret = 0;
out_fini:
parasite_execute(PARASITE_CMD_DUMPPAGES_FINI, ctl, NULL, 0);
out: out:
fchmod(fdset_fd(cr_fdset, CR_FD_PAGES), CR_FD_PERM); fchmod(fdset_fd(cr_fdset, CR_FD_PAGES), CR_FD_PERM);
pr_info("----------------------------------------\n"); pr_info("----------------------------------------\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment