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

From: viro
Date: Thu Aug 26 2004 - 18:09:22 EST


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...
-
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/