Quoting Dwight Engen (dwight.en...@oracle.com): > On Mon, 12 May 2014 18:02:28 +0000 > Serge Hallyn <serge.hal...@ubuntu.com> wrote: > > > qcow2 backing stores can be attached to a nbd block device using > > qemu-nbd. This user-space process (pair) stays around for the > > duration of the device attachment. Obviously we want it to go > > away when the container shuts down, but not before the filesystems > > have been cleanly unmounted. > > > > The device attachment is done from the task which will become the > > container monitor before the container setup+init task is spawned. > > That task starts in a new pid namespace to ensure that the qemu-nbd > > process will be killed if need be. It sets its parent death signal > > to sighup, and, on receiving sighup, attempts to do a clean > > qemu-device detach, then exits. This should ensure that the > > device is detached if the qemu monitor crashes or exits. > > > > It may be worth adding a delay before the qemu-nbd is detached, but > > my brief tests haven't seen any data corruption. > > > > Only the parts required for running a qcow2-backed container are > > implemented here. Create, destroy, and clone are not. The first > > use of this that I imagine is for people to use downloaded > > qcow2-backed images (like ubuntu cloud images, or anything previously > > used with qemu). I imagine people will want to create/clone/destroy > > out of band using qemu-img, but if I'm wrong about that we can > > implement the rest later. > > > > Because attach_block_device() is done before the bdev is initialized, > > and bdev_init needs to know the nbd index so that it can mount the > > filesystem, we now need to pass the lxc_conf. > > > > file_exists() is moved to utils.c so we can use it from bdev.c > > > > The nbd attach/detach should lay the groundwork for trivial > > implementation of qed and raw images. > > > > changelog (may 12): qcow: fix idx check at detach > > Hey Serge, I had to check the code for how to use this so maybe we > should document somewhere what the rootfs line needs to look like (ie. > lxc.rootfs = qcow2:/path/to/diskimg:1). > > Also, I used this against a .vdi image just fine, so maybe we should be > more generic than just qcow2 and call it qemu? Not sure if qemu-nbd > supports all the same image formats as qemu-img.
so, nbd:/file[:partition] ? _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel