Commit c4702802 authored by Pavel Emelyanov's avatar Pavel Emelyanov

mem: Move mem_pp from ctl to pstree_item's dmpi

Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 781a2e07
...@@ -1443,6 +1443,7 @@ static int cr_pre_dump_finish(int ret) ...@@ -1443,6 +1443,7 @@ static int cr_pre_dump_finish(int ret)
pr_info("Pre-dumping tasks' memory\n"); pr_info("Pre-dumping tasks' memory\n");
for_each_pstree_item(item) { for_each_pstree_item(item) {
struct parasite_ctl *ctl = dmpi(item)->parasite_ctl; struct parasite_ctl *ctl = dmpi(item)->parasite_ctl;
struct page_pipe *mem_pp;
struct page_xfer xfer; struct page_xfer xfer;
if (!ctl) if (!ctl)
...@@ -1454,7 +1455,8 @@ static int cr_pre_dump_finish(int ret) ...@@ -1454,7 +1455,8 @@ static int cr_pre_dump_finish(int ret)
if (ret < 0) if (ret < 0)
goto err; goto err;
ret = page_xfer_dump_pages(&xfer, ctl->mem_pp, 0); mem_pp = dmpi(item)->mem_pp;
ret = page_xfer_dump_pages(&xfer, mem_pp, 0);
xfer.close(&xfer); xfer.close(&xfer);
...@@ -1463,7 +1465,7 @@ static int cr_pre_dump_finish(int ret) ...@@ -1463,7 +1465,7 @@ static int cr_pre_dump_finish(int ret)
timing_stop(TIME_MEMWRITE); timing_stop(TIME_MEMWRITE);
destroy_page_pipe(ctl->mem_pp); destroy_page_pipe(mem_pp);
parasite_cure_local(ctl); parasite_cure_local(ctl);
} }
......
...@@ -52,8 +52,6 @@ struct parasite_ctl { ...@@ -52,8 +52,6 @@ struct parasite_ctl {
void *addr_args; /* address for arguments */ void *addr_args; /* address for arguments */
unsigned long args_size; unsigned long args_size;
int tsock; /* transport socket for transferring fds */ int tsock; /* transport socket for transferring fds */
struct page_pipe *mem_pp;
}; };
extern int parasite_dump_sigacts_seized(struct parasite_ctl *ctl, struct cr_imgset *cr_imgset); extern int parasite_dump_sigacts_seized(struct parasite_ctl *ctl, struct cr_imgset *cr_imgset);
......
...@@ -43,7 +43,7 @@ struct dmp_info { ...@@ -43,7 +43,7 @@ struct dmp_info {
* threads. Dumping tasks with different creds is not supported. * threads. Dumping tasks with different creds is not supported.
*/ */
struct proc_status_creds *pi_creds; struct proc_status_creds *pi_creds;
struct page_pipe *mem_pp;
struct parasite_ctl *parasite_ctl; struct parasite_ctl *parasite_ctl;
}; };
......
...@@ -389,7 +389,7 @@ out_pp: ...@@ -389,7 +389,7 @@ out_pp:
if (ret || !mdc->pre_dump) if (ret || !mdc->pre_dump)
destroy_page_pipe(pp); destroy_page_pipe(pp);
else else
ctl->mem_pp = pp; dmpi(item)->mem_pp = pp;
out: out:
pmc_fini(&pmc); pmc_fini(&pmc);
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