[CRIU] [PATCH] parasite/mem: unprotect VMAs if page dumping failed

Cyrill Gorcunov gorcunov at gmail.com
Tue Mar 29 03:49:32 PDT 2016


On Mon, Mar 28, 2016 at 10:38:51PM +0300, Dmitry Safonov wrote:
> Before patch parasite_dump_pages_seized tried to unprotect pages
> by parasite command. But it had two issues:
> 1. parasite doesn't wait any command, except PARASITE_CMD_FINI after
>    it failed;
> 2. return code for parasite_dump_pages_seized was not set according
>    to __parasite_dump_pages_seized failure.
> 
> During fixing compatible patches set troubles, I saw the following picture,
> which the patch fixes:
> 
> (00.010992) Sent msg to daemon 8 0 0
> pie: __fetched msg: 8 0 0
> (00.010995) Wait for ack 8 on daemon socket
> pie: Error (pie/parasite.c:82): Can't splice pages to pipe (0/16)
> pie: __sent ack msg: 8 8 -1
> pie: Error (pie/parasite.c:721): Close the control socket for writing
> >
> pie: Daemon waits for command
> (00.011023) Fetched ack: 8 8 -1
> (00.011025) Error (parasite-syscall.c:345): Command 8 for daemon failed with -1
> (00.011131) page-pipe: Killing page pipe
> (00.011150) ----------------------------------------
> (00.011151) Error (mem.c:375): Can't dump page with parasite
> (00.011155) Sent msg to daemon 7 0 0
> (00.011156) Wait for ack 7 on daemon socket
> pie: __fetched msg: 7 0 0
> (00.011157) Error (parasite-syscall.c:318): Message reply from daemon is trimmed (12/0)
> pie: Error (pie/parasite.c:665): Command rejected
> (00.011159) Error (mem.c:379): Can't rollback unprotected vmas with parasite
> pie: Daemon waits for command
> 
> Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
Acked-by: Cyrill Gorcunov <gorcunov at openvz.org>

Thanks!


More information about the CRIU mailing list