Re: [some sanity for a change] possible design issues for hybrids

viro
2004-08-26T22:58:47Z

On Thu, Aug 26, 2004 at 03:45:09PM -0700, Linus Torvalds wrote:
> No, lookup would just return the dentry, but the dentry would already be
> filled in with the mount-point information.
>
> And you can do that with a simple vfs helper function, ie the filesystem
> itself would just need to do
>
> pseudo_mount(dentry, inode);
>
> thing - which just fills in dentry->d_mountpoint with a new vfsmount
> thing. It would allocate a new root dentry (for the pseudo-mount) and a
> new vfsmount, and make dentry->d_mountpoint point to it.

What dentry->d_mountpoint? No such thing...

Note that we can't get vfsmount by dentry - that's the point of having these
guys in the first place. So I'm not sure what you are trying to do here -
dentry + inode is definitely not enough to attach any vfsmounts anywhere.

That's not about namespaces - same fs mounted in several places will give
the same problem - one dentry, many vfsmounts. And we obviously *can't*
have one vfsmount for all of them - if the same fs is mounted on /foo and
/bar, we will have the same dentry for /foo/splat and /bar/splat. So
what should we get for /foo/splat/. and /bar/splat/.? Same dentry *and*
same vfsmount? I'd expect .. from the former to give /foo and from the
latter - /bar...