[CRIU] [PATCHv3 14/30] page-xfer: dump compatible iovec
Pavel Emelyanov
xemul at virtuozzo.com
Tue Jul 5 04:35:53 PDT 2016
>>> ========================== Run zdtm/static/env00 in h ==========================
>>> Start test
>>> ./env00 --pidfile=env00.pid --outfile=env00.out --envname=ENV_00_TEST
>>> Run criu pre-dump
>>> Run criu pre-dump
>>> Run criu dump
>>> Run criu restore
>>> =[log]=> dump/zdtm/static/env00/24/3/restore.log
>>> ------------------------ grep Error ------------------------
>>> (00.035223) 24: Error (mem.c:826): Page entry address 400000 outside of VMA 7fffddbcf000-7fffddbd1000
>>> (00.035323) Error (cr-restore.c:1885): Restoring FAILED.
>>> ------------------------ ERROR OVER ------------------------
>>> ################# Test zdtm/static/env00 FAIL at CRIU restore ##################
>>> ##################################### FAIL #####################################
>>>
>>> https://github.com/xemul/criu/issues/185
>>
>> The pagemap image for test becomes unsorted.
>
> Yes, thanks, I have reproduced and also found image unsorted.
> Working on fix.
diff --git a/criu/page-xfer.c b/criu/page-xfer.c
index 8c2c799..967a587 100644
--- a/criu/page-xfer.c
+++ b/criu/page-xfer.c
@@ -370,7 +370,7 @@ int page_xfer_dump_pages(struct page_xfer *xfer, struct page_pipe *pp,
struct iovec hole = get_iov(pp->holes, cur_hole,
pp->compat_iov);
- if (hole.iov_base < iov.iov_base)
+ if (hole.iov_base >= iov.iov_base)
break;
ret = page_xfer_dump_hole(xfer, &hole, off);
if (ret)
Is it just like this?
-- Pavel
More information about the CRIU
mailing list