Re: recent nfs change causes autofs regression

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Howells
Date: Tuesday, September 4, 2007 - 1:35 am

Linus Torvalds <torvalds@linux-foundation.org> wrote:


That helps one case, yes, but what about a superset?  What about two sets that
might intersect but for which you don't have the common root to hand?  The
current NFS code deals with all these problems by attempting to share the
dentry sets.  Superblocks can now have multiple roots and we graft trees
together automatically when we discover one is a subset of another.

The case I came up with was this:

	mount home:/home/fred /home/fred
	mount home:/home/jim /home/jim

To effect these, the NFS mount process looks up "/home/fred" or "/home/jim"
directly rather than looking up "/" and path walking.  However, the NFS client
in the kernel may note that both Fred's and Jim's home directories reside on
the same NFS volume.  You cannot use a bind mount here because there's nothing
to bind from.

Then, should, say, this happen:

	mount home:/home /mnt

You'll probably end up with three roots in the NFS superblock.  Following with
an ls of /home, say, would then populate the dentries for /home - including
those for fred and jim, and the code would splice in the dentried now rooted at
/home/fred and /home/jim.

You can't do that with bind mounts as far as I know because I don't believe
that you can go up the tree (rootwards) from the apparent root of a vfsmount.

So bind mounts aren't quite it for this problem, and in any case your
suggestion of:

	mount --bind /some/nfs/mount/subdir /new/mount/place

doesn't help with the automounter case particularly well.  The automounter
*could* probe to see if the server stuff is common with an already existing
mount, but there would then be a race, and it doesn't help with the homedir
example I gave above either.

You might think "well, start by mounting '/' somewhere and then bind mounting
subdirs of it", but that doesn't work if you can't mount "/" or "/home", and
might go spectacularly wrong if the server has a symlink in the path that you
can't see.



Yeah, that's probably necessary, if annoying.  However, local caching can
enable sharing or make it a prerequisite option.


The reason I added all this NFS superblock sharing is so that I could implement
on-disk local caching much more easily.  If, for instance, two netfs inodes
aren't shared, but their "index keys" say they should use the same piece of
cache then all sorts of fun ensues from the disjoint cache coherency.

Even working out that two inodes are using the same piece of cache isn't
trivial (though it seems like it ought to be).

David
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 2:07 pm)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 3:37 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 3:47 pm)
RE: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 4:22 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 4:30 pm)
RE: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 4:37 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 4:44 pm)
Re: recent nfs change causes autofs regression, Andrew Morton, (Thu Aug 30, 6:24 pm)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Thu Aug 30, 8:49 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 8:57 pm)
RE: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 9:31 pm)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 9:33 pm)
RE: recent nfs change causes autofs regression, Linus Torvalds, (Thu Aug 30, 9:38 pm)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 9:44 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 9:47 pm)
RE: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 9:57 pm)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Thu Aug 30, 9:59 pm)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Thu Aug 30, 10:04 pm)
RE: recent nfs change causes autofs regression, Ian Kent, (Thu Aug 30, 10:09 pm)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Thu Aug 30, 10:16 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Thu Aug 30, 10:24 pm)
Re: recent nfs change causes autofs regression, Ian Kent, (Thu Aug 30, 10:38 pm)
Re: recent nfs change causes autofs regression, Jakob Oestergaard, (Fri Aug 31, 12:40 am)
Re: recent nfs change causes autofs regression, Matthias Schniedermeyer, (Fri Aug 31, 12:50 am)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Fri Aug 31, 1:07 am)
Re: recent nfs change causes autofs regression, Frank van Maarseveen, (Fri Aug 31, 1:14 am)
Re: recent nfs change causes autofs regression, Frank van Maarseveen, (Fri Aug 31, 1:28 am)
Re: recent nfs change causes autofs regression, Jakob Oestergaard, (Fri Aug 31, 1:51 am)
Re: recent nfs change causes autofs regression, Martin Knoblauch, (Fri Aug 31, 1:54 am)
Re: recent nfs change causes autofs regression, Ian Kent, (Fri Aug 31, 2:05 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Fri Aug 31, 5:11 am)
Re: recent nfs change causes autofs regression, Frank van Maarseveen, (Fri Aug 31, 6:12 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Fri Aug 31, 6:50 am)
Re: recent nfs change causes autofs regression, Frank van Maarseveen, (Fri Aug 31, 7:42 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Fri Aug 31, 9:21 am)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Fri Aug 31, 9:43 am)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Fri Aug 31, 10:01 am)
RE: recent nfs change causes autofs regression, Hua Zhong, (Fri Aug 31, 11:47 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Fri Aug 31, 12:03 pm)
RE: recent nfs change causes autofs regression, Trond Myklebust, (Fri Aug 31, 12:13 pm)
RE: recent nfs change causes autofs regression, Hua Zhong, (Fri Aug 31, 12:35 pm)
Re: recent nfs change causes autofs regression, Bill Davidsen, (Sat Sep 1, 5:58 pm)
Re: recent nfs change causes autofs regression, Jakob Oestergaard, (Mon Sep 3, 6:20 am)
Re: recent nfs change causes autofs regression, Martin Knoblauch, (Mon Sep 3, 6:43 am)
Re: recent nfs change causes autofs regression, David Howells, (Tue Sep 4, 12:51 am)
Re: recent nfs change causes autofs regression, David Howells, (Tue Sep 4, 12:54 am)
Re: recent nfs change causes autofs regression, David Howells, (Tue Sep 4, 1:02 am)
Re: recent nfs change causes autofs regression, David Howells, (Tue Sep 4, 1:35 am)
Re: recent nfs change causes autofs regression, Linus Torvalds, (Tue Sep 4, 2:04 am)
Re: recent nfs change causes autofs regression, Bill Davidsen, (Wed Sep 5, 5:35 am)
Re: recent nfs change causes autofs regression, Ian Kent, (Wed Sep 5, 5:44 am)
Re: recent nfs change causes autofs regression, David Howells, (Wed Sep 5, 8:34 am)
Re: recent nfs change causes autofs regression, David Howells, (Wed Sep 5, 8:37 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Wed Sep 5, 8:50 am)
Re: recent nfs change causes autofs regression, Trond Myklebust, (Wed Sep 5, 9:26 am)
Re: recent nfs change causes autofs regression, Ian Kent, (Wed Sep 5, 10:23 pm)