2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-09-04 16:25:31 +00:00

crtools: make pid parameter optional for open_image_ro()

Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Stanislav Kinsbursky
2012-03-23 18:41:00 +04:00
committed by Pavel Emelyanov
parent 90376f2286
commit f659f64247
2 changed files with 8 additions and 4 deletions

View File

@@ -106,7 +106,7 @@ extern void close_image_dir(void);
int open_image(int type, unsigned long flags, ...);
#define open_image_ro(type, ...) open_image(type, O_RDONLY, ##__VA_ARGS__)
extern int open_image_ro_nocheck(const char *fmt, int pid);
extern int open_image_ro_nocheck(const char *fmt, ...);
#define LAST_PID_PATH "/proc/sys/kernel/ns_last_pid"
#define LAST_PID_PERM 0666

10
util.c
View File

@@ -129,15 +129,19 @@ int move_img_fd(int *img_fd, int want_fd)
return 0;
}
int open_image_ro_nocheck(const char *fmt, int pid)
int open_image_ro_nocheck(const char *fmt, ...)
{
char path[PATH_MAX];
va_list args;
int tmp;
sprintf(path, fmt, pid);
va_start(args, fmt);
vsprintf(path, fmt, args);
va_end(args);
tmp = openat(image_dir_fd, path, O_RDONLY);
if (tmp < 0)
pr_warn("Can't open image %s for %d: %m\n", fmt, pid);
pr_warn("Can't open image %s: %m\n", path);
return tmp;
}