Quoting Tycho Andersen ([email protected]): > On Wed, Apr 22, 2015 at 10:26:17PM +0000, Serge Hallyn wrote: > > Quoting Tycho Andersen ([email protected]): > > > On Wed, Apr 22, 2015 at 01:16:08PM -0600, Tycho Andersen wrote: > > > > CRIU can get confused if more than one c/r is done in the same > > > > directory, so we > > > > should require lxcapi so that it refuses to dump to a directory with > > > > criu > > > > images already in it. > > > > > > Hmm, actually I'm not sure this is the best way to do this. If users > > > (e.g. LXD) use some sort of mechanism to generate a temporary > > > directory name we could race if the same name is tried twice in a row. > > > > ? > > > > You mean if they use something like mkstemp and two threads get the > > same name from it? (that shouldn't happen) > > The problem is that we pass liblxc the dirname, but this patch means > that liblxc creates the directory. mkstemp (and go's equivalent, > ioutil.TempDir) works because it opens the file, so presumably they > test to see that it doesn't exist. > > However, we'd have to remove the directory after TempDir creates it, > because liblxc wants to create it. That could get us into a situation > where another TempDir call might generate the same name, in between > when we remove it and when liblxc creates it. > > Tycho > > > > Instead, maybe it's just best to stat() for the key criu image file > > > (inventory.img), and die if it's there. > > > > > > Thoughts?
I think we'll go with whatever you think is best :) _______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
