On 6/11/19 5:57 PM, Matt Coffin wrote: > This could just be because I don't understand the implications here, but > wouldn't it be easier, at least for now, to just mount with > > redirect_dir=0,metacopy=0 We want the advantages of metacopy for use with User Namespace. > in the mount parameters when building images, but allow the user's > default settings to still take over when just executing a container? > > On 6/11/19 3:49 PM, Vivek Goyal wrote: >> On Tue, Jun 11, 2019 at 05:44:33PM -0400, Daniel Walsh wrote: >>> On 6/11/19 9:09 AM, Vivek Goyal wrote: >>>> On Tue, Jun 11, 2019 at 02:37:34PM +0200, Miklos Szeredi wrote: >>>>> On Mon, Jun 10, 2019 at 8:45 PM Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: >>>>> AFAICS what happens when generating a layer is to start with a clean >>>>> upper layer, do some operations, then save the contents of the upper >>>>> layer. If redirect or metacopy is enabled, then the contents of the >>>>> upper layer won't be portable. So need to do something like this: >>>>> >>>>> traverse(overlay_dir, upper_dir, target_dir) >>>>> { >>>>> iterate name for entries in $upper_dir { >>>>> if ($name is non-directory) { >>>>> copy($overlay_dir/$name, $target_dir/$name) >>>>> } else if ($name is redirect) { >>>>> copy-recursive($overlay_dir/$name, $target_dir/$name) >>>>> } else { >>>>> copy($overlay_dir/$name, $target_dir/$name) >>>>> traverse($overlay_dir/$name, $upper_dir/$name, $target_dir/$name) >>>>> } >>>>> } >>>>> } >>>>> >>>>> Basically: traverse the *upper layer* but copy files and directories >>>>> from the *overlay*. Does that make sense?