[CRIU] Checkpointing non-regular mappings

Pavel Emelyanov xemul at parallels.com
Wed Sep 4 05:31:31 EDT 2013


On 09/04/2013 03:47 AM, Adam Jacobvitz wrote:
> Hi,
> 
> I am trying to checkpoint a program that is running on top of xenomai. 
> The program has mapped in /dev/rtheap which is a special device, and 
> CRIU is unable to checkpoint it.

Yes, CRIU cannot dump arbitrary character device, for now it only knows what
to do with /dev/null, zero and alike virtual devices and with pseudo terminals.

Generic character device cannot be "just dump-ed" as program might have
initialized it somehow. So if we just remember the info about "task has /dev/foo
opened" and re-open it on restore, we might get into non-working situation -- we
have to re-initialize it in the same way, so that restore application may 
continue to operate on the device.

Apparently this is your case -- you have to investigate how to dump (if it's
needed, I don't know the details) the state of the character device your app
has opened, save this state into image file, and on restore -- put (in the
device-specific way) this state back into the device.

> Is there a way to checkpoint this device or a way to unmap this device 
> before checkpointing and then remapping it after checkpointing?
> 
> Thanks!
> 
> Adam
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
> 




More information about the CRIU mailing list