Messages in this thread | | | Subject | Re: [RFC 1/1] shiftfs: uid/gid shifting bind mount | From | James Bottomley <> | Date | Mon, 20 Feb 2017 20:07:53 -0800 |
| |
On Tue, 2017-02-21 at 11:57 +0900, J. R. Okajima wrote: > James Bottomley: > > I realised as I was trimming down the vestigial inode properties in > > the patch that actually shiftfs does use the i_ino from the > > underlying for userspace. The reason why is that it comes from the > > getattr call in stat and that's fully what the underlying > > filesystem returns (including the inode number). > > Let me make sure. > - shiftfs has its own inode, but it will never be visible to > userspace. - the inode attr visible to users are equivalent to the > underlying one, includeing dev:ino pair. > right?
Yes, it behaves like a bind mount.
> If so, I am afraid it will make users confused. The dev:ino pair is a > system-wide identity,
I don't believe it will, otherwise they'd have the same confusion over a real bind mount. The dev:inum pair identifies an inode. An inode may have many paths and shiftfs just adds a path.
> but shiftfs creates the same dev:ino pair with different owner.
With a different owner view, but that's irrelevant to the underlying inode.
> Though I don't know whether the actual application or LSM exists or > not who will be damaged by this situation. > For git-status case which I wrote previously, it might not be a > problem as long as dev:ino is unchanged from git index. > But such filesystem looks weird.
It behaves as much as possible like a bind mount and the user view is standard behaviour, so it can't really be classified as "weird". What won't work like a classic bind mount in this scenario is NFS exporting, but that's about the only thing.
James
| |