Re: [PATCH 6/7 v3] overlay: hybrid overlay filesystem prototype

From: Andreas Gruenbacher
Date: Fri Oct 01 2010 - 05:35:36 EST


On Thursday 30 September 2010 23:51:15 Valerie Aurora wrote:
> On Tue, Sep 28, 2010 at 10:24:59AM +0200, Andreas Gruenbacher wrote:
> > On Monday 27 September 2010 20:47:47 Valerie Aurora wrote:
> > > Again, maybe I'm misunderstanding, but this doesn't make much sense to
> > > me. Say I create:
> > >
> > > /upper/a_dir/upper_file
> > > /lower/a_dir/lower_file
> > >
> > > Then when I union mount them, I want a_dir/ to be transparent
> > > automatically and show both upper_file and lower_file, without marking
> > > it manually.
> >
> > Why?
>
> Hm, this was a pretty basic assumption for me - that you'd want to
> construct a topmost image offline that would be "merged" with the
> lower layers. So, for example:
>
> Topmost layer contains:
>
> /etc/hostname
>
> Lower layers contain everything else in /etc/. So /etc/ would exist
> on the topmost layer at the time of union mount, but we would want it
> to be transparent. But if we created a new dir *during* the union
> mount, it would be opaque.
>
> What was your model?

The prevalent use case probably is to start out with an empty topmost layer on
top of an existing file system. When things are modified, changes obviously
go into the topmost layer. Additional layers can later be stacked on top of
that, turning the previous topmost layer into a read-only lower layer.

Overlaying preexisting file systems doesn't seem that important; users
commonly should be able to start out with an empty topmost layer instead. To
also cover the less common cases, there should be a way to convert directories
in a union from opaque to transparent and back though, just like there should
be a way to get rid of a whiteout.

Makes sense?

Thanks,
Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/