linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, nfsv4@linux-nfs.org,
	Trond Myklebust <trond.myklebust@fys.uio.no>,
	torvalds@osdl.org, linux-cachefs@redhat.com,
	linux-fsdevel@vger.kernel.org, Ian Kent <raven@themaw.net>
Subject: Re: [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing [try #13]
Date: Mon, 04 Sep 2006 12:52:01 +0100	[thread overview]
Message-ID: <28936.1157370721@warthog.cambridge.redhat.com> (raw)
In-Reply-To: <20060901195009.187af603.akpm@osdl.org>

Andrew Morton <akpm@osdl.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

  parent reply	other threads:[~2006-09-04 11:52 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-30 19:31 [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing [try #13] David Howells
2006-08-30 19:31 ` [PATCH 1/7] FS-Cache: Provide a filesystem-specific sync'able page bit " David Howells
2006-08-30 19:31 ` [PATCH 2/7] FS-Cache: Generic filesystem caching facility " David Howells
2006-08-30 19:32 ` [PATCH 3/7] FS-Cache: Release page->private after failed readahead " David Howells
2006-08-30 19:32 ` [PATCH 4/7] FS-Cache: Make kAFS use FS-Cache " David Howells
2006-08-30 19:32 ` [PATCH 5/7] NFS: Use local caching " David Howells
2006-08-30 19:32 ` [PATCH 6/7] FS-Cache: CacheFiles: ia64: missing copy_page export " David Howells
2006-08-30 19:32 ` [PATCH 7/7] FS-Cache: CacheFiles: A cache that backs onto a mounted filesystem " David Howells
2006-08-30 19:52 ` [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing " Andrew Morton
2006-08-30 20:37 ` David Howells
2006-08-30 20:55   ` Andrew Morton
2006-08-31  9:58   ` David Howells
2006-08-31 17:21     ` Andrew Morton
2006-08-31 17:26       ` Trond Myklebust
2006-08-31 17:42     ` David Howells
2006-08-31 18:04       ` Andrew Morton
2006-09-01 13:08     ` David Howells
2006-09-01 16:34       ` Andrew Morton
2006-09-01 17:00         ` Trond Myklebust
2006-09-02  2:50           ` Andrew Morton
2006-09-02  4:11             ` Ian Kent
2006-09-02  5:58               ` Andrew Morton
2006-09-03  6:21                 ` Ian Kent
2006-09-03  6:30                   ` Andrew Morton
2006-09-03  6:43                     ` Ian Kent
2006-09-03 16:58                       ` Andrew Morton
2006-09-04  2:23                         ` Ian Kent
2006-09-04  5:40                         ` Ian Kent
2006-09-02  4:49             ` Ian Kent
2006-09-04 11:52           ` David Howells [this message]
2006-09-04 11:52           ` David Howells
2006-09-04 13:24             ` Ian Kent
2006-09-05  1:57               ` Trond Myklebust
2006-09-05  2:55                 ` Ian Kent
2006-09-05  3:50                   ` Trond Myklebust
2006-09-05  4:03                     ` Ian Kent
2006-09-05  4:53                       ` Trond Myklebust
2006-09-05  6:06                         ` Ian Kent
2006-09-05  7:01                           ` Ian Kent
2006-09-05 12:52                             ` Trond Myklebust
2006-09-06  4:54                               ` Ian Kent
2006-09-05  9:40                         ` David Howells
2006-09-05 10:20                           ` Ian Kent
2006-09-05 10:37                           ` David Howells
2006-09-05 12:20                             ` Ian Kent
2006-09-05 13:38                             ` David Howells
2006-09-06  4:58                               ` Ian Kent
2006-09-06  9:51                               ` David Howells
2006-09-06 12:46                                 ` Trond Myklebust
2006-09-06 13:24                                 ` David Howells
2006-09-07  5:30                                   ` Ian Kent
2006-09-07  6:17                                     ` Trond Myklebust
2006-09-07  7:40                                       ` Ian Kent
2006-09-05  9:48                 ` David Howells
2006-09-05 10:14                   ` Ian Kent
2006-09-05  9:57               ` David Howells
2006-09-05 12:47                 ` Trond Myklebust
2006-09-05 12:53                   ` Trond Myklebust
2006-09-05 13:40                   ` David Howells
2006-09-06 10:27                   ` Ian Kent
2006-09-04 13:46             ` David Howells
2006-09-04 15:00               ` Ian Kent
2006-09-05  4:11               ` Ian Kent
2006-09-05  4:17                 ` Trond Myklebust
2006-09-05  2:23             ` Trond Myklebust
2006-09-05  3:01               ` Ian Kent
2006-09-05  4:05                 ` Trond Myklebust
2006-09-05  4:06               ` Ian Kent
2006-09-05  4:57                 ` Trond Myklebust
2006-09-05  6:45                   ` Ian Kent
2006-09-05  7:07                     ` Ian Kent
2006-09-04 18:20       ` David Howells

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28936.1157370721@warthog.cambridge.redhat.com \
    --to=dhowells@redhat.com \
    --cc=akpm@osdl.org \
    --cc=linux-cachefs@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nfsv4@linux-nfs.org \
    --cc=raven@themaw.net \
    --cc=torvalds@osdl.org \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).