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: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
static int ovl_rsync(struct ovl_rsync_data *data)
{
+ int ret;
+
if (setgid(0) < 0) {
ERROR("Failed to setgid to 0");
return -1;
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;
}