criu/include/files-reg.h
Cyrill Gorcunov 7bd34c699e files-reg: Add a few helpers to access ghost files remaps from inotify
The remap_put will be needed to defer unlinking of ghost files
if they are referred from inotify system.

The lookup_remap is needed to figure out if the watch
target the inotify has present in ghost files list.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-12-06 11:10:14 +04:00

39 lines
938 B
C

#ifndef FILES_REG_H__
#define FILES_REG_H__
#include "types.h"
#include "files.h"
#include "image.h"
#include "../protobuf/regfile.pb-c.h"
#include "../protobuf/ghost-file.pb-c.h"
struct cr_fdset;
struct fd_parms;
struct file_remap {
char *path;
unsigned int users;
};
struct reg_file_info {
struct file_desc d;
RegFileEntry *rfe;
struct file_remap *remap;
char *path;
};
extern int open_reg_by_id(u32 id);
extern int open_path_by_id(u32 id, int (*open_cb)(struct reg_file_info *, void *), void *arg);
extern void clear_ghost_files(void);
extern int collect_reg_files(void);
extern int prepare_shared_reg_files(void);
extern int dump_reg_file(struct fd_parms *p, int lfd, const struct cr_fdset *cr_fdset);
extern int dump_one_reg_file(int lfd, u32 id, const struct fd_parms *p);
extern struct file_remap *lookup_ghost_remap(u32 dev, u32 ino);
extern void remap_put(struct file_remap *remap);
#endif /* FILES_REG_H__ */