Quoting Christian Seiler (christ...@iwakd.de): > Chane pinning mechanism: Use $rootfs/lxc.hold instead of $rootfs.hold > (in case $rootfs is a mountpoint itself), but delete the file > immediately after creating it (but keep it open). This will keep the > root filesystem busy but does not leave any unnecessary files lying > around. > > Signed-off-by: Christian Seiler <christ...@iwakd.de>
Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/lxc/conf.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/src/lxc/conf.c b/src/lxc/conf.c > index 5f9ae87..291ea6f 100644 > --- a/src/lxc/conf.c > +++ b/src/lxc/conf.c > @@ -670,9 +670,10 @@ static int mount_rootfs_block(const char *rootfs, const > char *target) > > /* > * pin_rootfs > - * if rootfs is a directory, then open ${rootfs}.hold for writing for the > - * duration of the container run, to prevent the container from marking the > - * underlying fs readonly on shutdown. > + * if rootfs is a directory, then open ${rootfs}/lxc.hold for writing for > + * the duration of the container run, to prevent the container from marking > + * the underlying fs readonly on shutdown. unlink the file immediately so > + * no name pollution is happens > * return -1 on error. > * return -2 if nothing needed to be pinned. > * return an open fd (>=0) if we pinned it. > @@ -699,11 +700,14 @@ int pin_rootfs(const char *rootfs) > if (!S_ISDIR(s.st_mode)) > return -2; > > - ret = snprintf(absrootfspin, MAXPATHLEN, "%s%s", absrootfs, ".hold"); > + ret = snprintf(absrootfspin, MAXPATHLEN, "%s/lxc.hold", absrootfs); > if (ret >= MAXPATHLEN) > return -1; > > fd = open(absrootfspin, O_CREAT | O_RDWR, S_IWUSR|S_IRUSR); > + if (fd < 0) > + return fd; > + (void)unlink(absrootfspin); > return fd; > } > > -- > 1.7.10.4 > ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel