Re: [RFC 1/1] shiftfs: uid/gid shifting bind mount

From: James Bottomley
Date: Mon Feb 20 2017 - 19:38:34 EST


On Mon, 2017-02-20 at 14:26 -0500, Vivek Goyal wrote:
> On Sat, Feb 18, 2017 at 07:24:38PM -0800, James Bottomley wrote:
>
> [..]
> > > > Yes, this is a known characteristic of stacked filesystems. Is
> > > > there some magic I don't know about that would make it easier
> > > > to
> > > > reflect hard links as aliases?
> > >
> > > I think overlayfs had the same issue in the beginning and miklos
> > > fixed it.
> > >
> > > commit 51f7e52dc943468c6929fa0a82d4afac3c8e9636
> > > Author: Miklos Szeredi <mszeredi@xxxxxxxxxx>
> > > Date: Fri Jul 29 12:05:24 2016 +0200
> > >
> > > ovl: share inode for hard link
> >
> > That's rather complex, but the principle is simple: use the inode
> > hash
> > for all upper inodes that may have aliases. Aliasable means the
> > underlying inode isn't a directory and has i_nlink > 1, so all I
> > have
> > to do is perform a lookup through the hash if the underlying is
> > aliasable, invalidate the dentry in d_revalidate if the aliasing
> > conditions to the underlying change and manually handle hard links
> > and
> > it should all work.
> >
> > Like this?
>
> Sounds reasonable to me. I did basic testing and this seems to work
> for me.
>
> In general, I am having random crashes. I just get following on
> serial console
>
> ------[Cut Here]----------
>
> And nothing after that.

That's indicative of some hard lockup. I don't see this, but I'm also
using a second laptop for testing, which is suboptimal. I'm going to
try moving to xfstests inside a VM tomorrow (that's what long aeroplane
flights are for).

> Still trying to narrow down.

Thanks. There've been a lot of patches flying around, so I'll do a
collected repost under a v2 header to make sure we're all in sync.

James