Commit 486cad37 authored by Ruslan Kuprieiev's avatar Ruslan Kuprieiev Committed by Pavel Emelyanov

image: Open parent image dir with -at calls

After fixes with -W option we've changed the cwd at the
time parent images are opened. Use the -at syscall to
proerly access ones.

[ Cleanup and comment from xemul@ ]
Signed-off-by: 's avatarRuslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 80559828
......@@ -241,26 +241,28 @@ int open_image_dir(char *dir)
ret = install_service_fd(IMG_FD_OFF, fd);
close(fd);
if (opts.img_parent) {
ret = symlink(opts.img_parent, CR_PARENT_LINK);
int pfd;
ret = symlinkat(opts.img_parent, fd, CR_PARENT_LINK);
if (ret < 0) {
pr_perror("Can't link parent snapshot.");
goto err;
}
fd = open(CR_PARENT_LINK, O_RDONLY);
if (fd < 0) {
pfd = openat(fd, CR_PARENT_LINK, O_RDONLY);
if (pfd < 0) {
pr_perror("Can't open parent snapshot.");
goto err;
}
ret = install_service_fd(PARENT_FD_OFF, fd);
ret = install_service_fd(PARENT_FD_OFF, pfd);
close(fd);
close(pfd);
}
close(fd);
return ret;
err:
......
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