Commit a405d25b authored by Mike Rapoport's avatar Mike Rapoport Committed by Andrei Vagin

criu/lazy-pages: fix socket creation with relative images-dir

The UNIX sockets do not like relative paths. Assuming both lazy-pages
daemon and restore use the same opts.work_dir, their working directory full
path will be the same.
Signed-off-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 0f60684b
...@@ -119,16 +119,22 @@ static void lpi_hash_fini(void) ...@@ -119,16 +119,22 @@ static void lpi_hash_fini(void)
static int prepare_sock_addr(struct sockaddr_un *saddr) static int prepare_sock_addr(struct sockaddr_un *saddr)
{ {
char cwd[PATH_MAX];
int len; int len;
if (!getcwd(cwd, PATH_MAX)) {
pr_perror("Cannot get CWD\n");
return -1;
}
memset(saddr, 0, sizeof(struct sockaddr_un)); memset(saddr, 0, sizeof(struct sockaddr_un));
saddr->sun_family = AF_UNIX; saddr->sun_family = AF_UNIX;
len = snprintf(saddr->sun_path, sizeof(saddr->sun_path), len = snprintf(saddr->sun_path, sizeof(saddr->sun_path),
"%s/%s", opts.work_dir, LAZY_PAGES_SOCK_NAME); "%s/%s", cwd, LAZY_PAGES_SOCK_NAME);
if (len >= sizeof(saddr->sun_path)) { if (len >= sizeof(saddr->sun_path)) {
pr_err("Wrong UNIX socket name: %s/%s\n", pr_err("Wrong UNIX socket name: %s/%s\n",
opts.work_dir, LAZY_PAGES_SOCK_NAME); cwd, LAZY_PAGES_SOCK_NAME);
return -1; return -1;
} }
......
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