Re: [libvirt] [PATCH] Adding filesystem mount support for openVZ

2009/3/12 Daniel P. Berrange <berrange@redhat.com>
On Wed, Mar 11, 2009 at 05:42:20PM +0100, Florian Vichot wrote:
Hi everyone,
This patch is to allow using the "mount" type in the "filesystem" tag for OpenVZ domains.
Example: ... <filesystem type='mount'> <source dir='/path/to/filesystem/directory/' /> <target dir='/path/to/pivot/root/' /> </filesystem> ...
This is my first patch to an external project, so don't spare me if I got things wrong :)
Also, I'm curious for suggestions as to how I could allow for the target not to be specified in the XML. Because in this case OpenVZ just makes a temporary pivot root in "/var/lib/vz/root/" and that is probably sufficient for most people, who might not want to have to explicitly create a pivot root somewhere, just for mounting the filesystem while it's running.
Actually the <target dir="..."> means something a little different. This refers to the mount point *within* the container. So for the root filesystem of the container it will be <target dir='/' />
No, that patch does something different---it assumes that both <source dir> and <target dir> are paths within hardware node. If we denote <source dir> and <target dir> by the VE_PRIVATE and VE_ROOT correspondingly, we get the following picture.
In OpenVZ there are VE_ROOT and VE_PRIVATE values for each container (they defined as VE_ROOT and VE_PRIVATE variables in container configuration file). The VE_PRIVATE defines the actual disposition of conatainer's root filesystem hierarchy. It can lie on it's own partition or be just a directory. When vzctl starts a container, it mounts a VE_PRIVATE "filesystem" to VE_ROOT mountpoint and then container starts to work in VE_ROOT chroot...
So, yes, you are right - in this case we can always assume, that "target dir within container" is "/" :)
participants (1)
-
Anton Protopopov