[lxc-devel] [RFC] rootfs pinning
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Sep 23 16:19:17 UTC 2013
Quoting Rob Landley (rob at landley.net):
> On 09/12/2013 01:27:07 PM, Christian Seiler wrote:
> > Hi there,
> >
> > just a quick question: currently, rootfs is pinned with a .hold file
> > in
> > the parent directory (which btw. does not help against file systems
> > that
> > are already mounted on the host but directly in the rootfs directory).
> > The problem with the .hold file is that it doesn't make the directory
> > necessarily pretty; I tend to mount all rootfs to /srv/lxc/$container
> > (config remaining in /var/lib/lxc), and then when doing a ls
> > /srv/lxc, I
> > see tons of .hold files. (I'm not even sure that they are removed
> > after
> > container termination - but even if they are, the default state of a
> > typical system tends to be that at least some containers are
> > running...)
> >
> > Couldn't we just open $rootfs/lxc.hold for writing, keep the fd (as
> > current pinfd) and then unlink (!) the file directly? According to
> > POSIX
> > semantics, the file is then still open and the pinning should work
> > (now
> > also for the above case), but there are no files lying around anymore.
> > (Note: I didn't test that, it could well be that that doesn't work.)
> >
> > Thoughts?
>
> Why doesn't keeping a file open to the directory itself work? (I'm
> assuming it doesn't, I'm wondering why.)
Tried it under tmpfs, and open("/mnt", O_RDWR) with tmpfs mounted
at /mnt does not work, gives EISDIR. O_RDONLY does work, but that
doesn't prevent mount -o remount,ro.
Drat, that would've been nice.
-serge
More information about the lxc-devel
mailing list