Commit 6ff0edad authored by Pavel Emelyanov's avatar Pavel Emelyanov

img: Open images "at" functionality

Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 82ac1ae3
......@@ -264,9 +264,8 @@ struct cr_fdset *cr_glob_fdset_open(int mode)
return cr_fdset_open(-1 /* ignored */, _CR_FD_GLOB_FROM, _CR_FD_GLOB_TO, mode);
}
int open_image(int type, unsigned long flags, ...)
int open_image_at(int dfd, int type, unsigned long flags, ...)
{
int dfd = get_service_fd(IMG_FD_OFF);
char path[PATH_MAX];
va_list args;
int ret;
......@@ -350,7 +349,7 @@ void up_page_ids_base(void)
page_ids += 0x10000;
}
int open_pages_image(unsigned long flags, int pm_fd)
int open_pages_image_at(int dfd, unsigned long flags, int pm_fd)
{
unsigned id;
......@@ -367,5 +366,10 @@ int open_pages_image(unsigned long flags, int pm_fd)
return -1;
}
return open_image(CR_FD_PAGES, flags, id);
return open_image_at(dfd, CR_FD_PAGES, flags, id);
}
int open_pages_image(unsigned long flags, int pm_fd)
{
return open_pages_image_at(get_service_fd(IMG_FD_OFF), flags, pm_fd);
}
......@@ -188,8 +188,10 @@ extern struct cr_fd_desc_tmpl fdset_template[CR_FD_MAX];
extern int open_image_dir(void);
extern void close_image_dir(void);
int open_image(int type, unsigned long flags, ...);
int open_image_at(int dfd, int type, unsigned long flags, ...);
#define open_image(typ, flags, ...) open_image_at(get_service_fd(IMG_FD_OFF), typ, flags, ##__VA_ARGS__)
int open_pages_image(unsigned long flags, int pm_fd);
int open_pages_image_at(int dfd, unsigned long flags, int pm_fd);
void up_page_ids_base(void);
#define LAST_PID_PATH "/proc/sys/kernel/ns_last_pid"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment