Commit 3563f361 by Serge Hallyn Committed by Stéphane Graber

ovl_rsync: make sure to umount

Otherwise the kernel will umount when it gets around to it, but that on lxc_destroy we may race with it and fail the rmdir of the overmounted (BUSY) rootfs. This makes lxc-test-snapshot pass for me again. Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com> Acked-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
parent e228426c
......@@ -2339,6 +2339,8 @@ static int rsync_delta_wrapper(void *data)
static int ovl_rsync(struct ovl_rsync_data *data)
{
int ret;
if (setgid(0) < 0) {
ERROR("Failed to setgid to 0");
return -1;
......@@ -2368,7 +2370,12 @@ static int ovl_rsync(struct ovl_rsync_data *data)
ERROR("Failed mounting new container fs");
return -1;
}
if (do_rsync(data->orig->dest, data->new->dest) < 0) {
ret = do_rsync(data->orig->dest, data->new->dest);
overlayfs_umount(data->new);
overlayfs_umount(data->orig);
if (ret < 0) {
ERROR("rsyncing %s to %s", data->orig->dest, data->new->dest);
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