lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 04 Sep 2006 12:52:01 +0100
From:	David Howells <dhowells@...hat.com>
To:	Andrew Morton <akpm@...l.org>
Cc:	Trond Myklebust <trond.myklebust@....uio.no>,
	David Howells <dhowells@...hat.com>, torvalds@...l.org,
	steved@...hat.com, linux-fsdevel@...r.kernel.org,
	linux-cachefs@...hat.com, nfsv4@...ux-nfs.org,
	linux-kernel@...r.kernel.org, Ian Kent <raven@...maw.net>
Subject: Re: [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing [try #13] 

Andrew Morton <akpm@...l.org> wrote:

> The automounter will mount bix:/ on /net/bix.  But I am unable to get it to
> mount bix's /usr/src on /net/bix/usr/src.

>From what I can tell, the problem is that the automounter causes a dentry to
be created on the xdev transition point, but the dentry is not set up right to
do in-NFS automounting on the follow_link() op.

By "xdev transition point" I mean a directory exported from the server that
has a different FSID to its parent.  The NFS client detects that and provides
automounting facilities in the following manner:

 (1) A directory dentry is set up in the superblock of the parent FSID to
     represent the transition point.  This dentry has a follow_link() op set.

 (2) When someone tries to traverse the transition point, the follow_link() op
     is invoked.  This causes a new superblock to be created to represent the
     new FSID, and a root directory entry is allocated there.  This new root
     is then mounted over the dentry set up in (1).

 (3) The follow_link() op of the transit dentry returns the mountpoint dentry
     as if a symlink had been transited.  Further transits just see the
     mountpoint and ignore the transit dentry at the bottom of the pile.

Note that an lstat() of the transit dentry does not cause automounting to take
place because lstat() does not follow terminal symlinks, and thus does not
invoke the follow_link() op.


However, when the automounter preemptively creates a dentry there with mkdir,
it can install a directory dentry *without* the appropriate follow_link() op.

David

-- 
VGER BF report: H 0.00103342
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ