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

Linus Torvalds
2004-08-26T23:24:51Z

On Thu, 26 Aug 2004 viro@parcelfarce.linux.theplanet.co.uk wrote:
>
> What dentry->d_mountpoint? No such thing...

Sorry - set "dentry->d_mounted++" + "add vfsmount/dentry to hashes".

Yes, it's not a direct list off the dentry, but it effectively is the same
thing.

So basically: the "d_mounted++" just makes sure we get into
"lookup_mnt()". That's where we will usually find the actual mount thing.

And that's also where the special case comes in: if we _don't_ find the
mount thing there, that's where we need to create it. That will only
happen if somebody looks it up using another namespace, though, so it
should be rare.

And when it does happen, we can just create a new vfsmount - we have all
the information there (we'll have to walk the per-inode-or-whatever
vfsmount list to find all the information to populate the thing with, of
course. But we need that list _anyway_, so it should be a fairly
straightforward special case).

Linus