mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 09:58:09 +00:00
Restoring AIO is quite simple. Once all VMAs are put in their places we can call io_setup() to let kernel create the context back and then move the ring into proper place. Another thing we should "restore" is the context ID. But the thing is, upon ring creation kernel repots the ring start address as this ID. And there's a patch in the -next tree that changes the ID when we remap the ring. That said after AIO context creation and ring remap we need to check that the new ID is seen by the kernel. Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
16 lines
422 B
C
16 lines
422 B
C
#ifndef __CR_AIO_H__
|
|
#define __CR_AIO_H__
|
|
#include "protobuf/mm.pb-c.h"
|
|
int dump_aio_ring(MmEntry *mme, struct vma_area *vma);
|
|
void free_aios(MmEntry *mme);
|
|
struct parasite_ctl;
|
|
int parasite_check_aios(struct parasite_ctl *, struct vm_area_list *);
|
|
unsigned long aio_rings_args_size(struct vm_area_list *);
|
|
|
|
struct rst_aio_ring {
|
|
unsigned long addr;
|
|
unsigned long len;
|
|
unsigned int nr_req;
|
|
};
|
|
#endif /* __CR_AIO_H__ */
|