Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
criu
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhul
criu
Commits
ee399151
Commit
ee399151
authored
Sep 28, 2016
by
Pavel Emelyanov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mem: Add pstree_item arg to dump_pages calls
Signed-off-by:
Pavel Emelyanov
<
xemul@virtuozzo.com
>
parent
6349ffe0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
9 deletions
+12
-9
cr-dump.c
criu/cr-dump.c
+2
-2
mem.h
criu/include/mem.h
+3
-2
mem.c
criu/mem.c
+7
-5
No files found.
criu/cr-dump.c
View file @
ee399151
...
@@ -1161,7 +1161,7 @@ static int pre_dump_one_task(struct pstree_item *item)
...
@@ -1161,7 +1161,7 @@ static int pre_dump_one_task(struct pstree_item *item)
mdc
.
pre_dump
=
true
;
mdc
.
pre_dump
=
true
;
ret
=
parasite_dump_pages_seized
(
parasite_ctl
,
&
vmas
,
&
mdc
);
ret
=
parasite_dump_pages_seized
(
item
,
&
vmas
,
&
mdc
,
parasite_ctl
);
if
(
ret
)
if
(
ret
)
goto
err_cure
;
goto
err_cure
;
...
@@ -1320,7 +1320,7 @@ static int dump_one_task(struct pstree_item *item)
...
@@ -1320,7 +1320,7 @@ static int dump_one_task(struct pstree_item *item)
mdc
.
pre_dump
=
false
;
mdc
.
pre_dump
=
false
;
ret
=
parasite_dump_pages_seized
(
parasite_ctl
,
&
vmas
,
&
mdc
);
ret
=
parasite_dump_pages_seized
(
item
,
&
vmas
,
&
mdc
,
parasite_ctl
);
if
(
ret
)
if
(
ret
)
goto
err_cure
;
goto
err_cure
;
...
...
criu/include/mem.h
View file @
ee399151
...
@@ -18,9 +18,10 @@ extern bool page_in_parent(bool dirty);
...
@@ -18,9 +18,10 @@ extern bool page_in_parent(bool dirty);
extern
int
prepare_mm_pid
(
struct
pstree_item
*
i
);
extern
int
prepare_mm_pid
(
struct
pstree_item
*
i
);
extern
int
do_task_reset_dirty_track
(
int
pid
);
extern
int
do_task_reset_dirty_track
(
int
pid
);
extern
unsigned
int
dump_pages_args_size
(
struct
vm_area_list
*
vmas
);
extern
unsigned
int
dump_pages_args_size
(
struct
vm_area_list
*
vmas
);
extern
int
parasite_dump_pages_seized
(
struct
p
arasite_ctl
*
ctl
,
extern
int
parasite_dump_pages_seized
(
struct
p
stree_item
*
item
,
struct
vm_area_list
*
vma_area_list
,
struct
vm_area_list
*
vma_area_list
,
struct
mem_dump_ctl
*
mdc
);
struct
mem_dump_ctl
*
mdc
,
struct
parasite_ctl
*
ctl
);
#define PME_PRESENT (1ULL << 63)
#define PME_PRESENT (1ULL << 63)
#define PME_SWAP (1ULL << 62)
#define PME_SWAP (1ULL << 62)
...
...
criu/mem.c
View file @
ee399151
...
@@ -262,10 +262,11 @@ static int xfer_pages(struct page_pipe *pp, struct page_xfer *xfer)
...
@@ -262,10 +262,11 @@ static int xfer_pages(struct page_pipe *pp, struct page_xfer *xfer)
return
ret
;
return
ret
;
}
}
static
int
__parasite_dump_pages_seized
(
struct
p
arasite_ctl
*
ctl
,
static
int
__parasite_dump_pages_seized
(
struct
p
stree_item
*
item
,
struct
parasite_dump_pages_args
*
args
,
struct
parasite_dump_pages_args
*
args
,
struct
vm_area_list
*
vma_area_list
,
struct
vm_area_list
*
vma_area_list
,
struct
mem_dump_ctl
*
mdc
)
struct
mem_dump_ctl
*
mdc
,
struct
parasite_ctl
*
ctl
)
{
{
pmc_t
pmc
=
PMC_INIT
;
pmc_t
pmc
=
PMC_INIT
;
struct
page_pipe
*
pp
;
struct
page_pipe
*
pp
;
...
@@ -395,9 +396,10 @@ out:
...
@@ -395,9 +396,10 @@ out:
return
ret
;
return
ret
;
}
}
int
parasite_dump_pages_seized
(
struct
p
arasite_ctl
*
ctl
,
int
parasite_dump_pages_seized
(
struct
p
stree_item
*
item
,
struct
vm_area_list
*
vma_area_list
,
struct
vm_area_list
*
vma_area_list
,
struct
mem_dump_ctl
*
mdc
)
struct
mem_dump_ctl
*
mdc
,
struct
parasite_ctl
*
ctl
)
{
{
int
ret
;
int
ret
;
struct
parasite_dump_pages_args
*
pargs
;
struct
parasite_dump_pages_args
*
pargs
;
...
@@ -424,7 +426,7 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl,
...
@@ -424,7 +426,7 @@ int parasite_dump_pages_seized(struct parasite_ctl *ctl,
return
-
1
;
return
-
1
;
}
}
ret
=
__parasite_dump_pages_seized
(
ctl
,
pargs
,
vma_area_list
,
mdc
);
ret
=
__parasite_dump_pages_seized
(
item
,
pargs
,
vma_area_list
,
mdc
,
ctl
);
if
(
ret
)
{
if
(
ret
)
{
pr_err
(
"Can't dump page with parasite
\n
"
);
pr_err
(
"Can't dump page with parasite
\n
"
);
/* Parasite will unprotect VMAs after fail in fini() */
/* Parasite will unprotect VMAs after fail in fini() */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment