All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Kent <raven@themaw.net>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Mike Waychison <Michael.Waychison@Sun.COM>,
	autofs mailing list <autofs@linux.kernel.org>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [autofs] [RFC] Towards a Modern Autofs
Date: Sat, 10 Jan 2004 02:32:12 +0800 (WST)	[thread overview]
Message-ID: <Pine.LNX.4.33.0401100223130.21972-100000@wombat.indigo.net.au> (raw)
In-Reply-To: <3FFD9498.6030905@zytor.com>

On Thu, 8 Jan 2004, H. Peter Anvin wrote:

> Ian Kent wrote:
> >
> > If wildcard map entries are not in autofs v3 then Jeremy implemented this
> > in v4.
> >
>
> v3 has had wildcard map entries and substitutions for a very, very, very
> long time... it was a v2 feature, in fact.
>
> > And yes the host map is basically a program map and that's all. Worse, as
> > pointed out in the paper it mounts everything under it. This is a source
> > of stress for mount and umount. I have put in a fair bit of time on ugly
> > hacks to work around this. This same problem is also evident in startup
> > and shutdown for master maps with a good number of entries (~50 or more).
> > A consequence of the current multiple daemon approach.
>
> This is why one wants to implement a mount tree with "direct mount
> pads"; which also means keeping some state in the daemon.
>
> For example, let's say one has a mount tree like:
>
> /foo		server1:/export/foo \
> /foo/bar	server1:/export/bar \
> /bar		server2:/export/bar
>
> ... then you actually have four diffenent filesystems involved: first,
> some kind of "scaffolding" (this can be part of the autofs filesystem
> itself or a ramfs) that hold the "foo" and "bar" directories, and then
> foo, foo/bar, and bar.
>
> Consider the following implementation: when one encounters the above,
> the daemon stashes this away as an already-encountered map entry (in
> case the map entries change, we don't want to be inconsistent), creates
> a ramfs for the scaffolding, creates the "foo" and "bar" subdirectories
> and mount-traps "foo" and "bar".  Then it releases userspace.  When it
> encounters an access on "foo", it gets invoked again, looks it up in its
> "partial mounts" state, then mounts "foo" and mount-traps "foo/bar",
> then releases userspace.
>

Umm. The cross filesystem problem again.

This may sound a little silly but it may be able to be done using
stackable filesystem methods (aka. Zadok et. al.). I'm thinking of an
autofs filesystem stacked on a host filesystem. The dentrys corresponding
to mount points marked in some way and the mount occuring under it, on top
of the host filesystem. Yes I know it sounds ugly but maybe it's not.
Maybe it's actually quite simple. I can't give an opinion yet as I'm still
thinking it through and haven't done any feasibility. However, this
approach would lend itself to providing autofs filesystem transparency. A
requirement as yet not discussed.

Ian





WARNING: multiple messages have this Message-ID (diff)
From: Ian Kent <raven@themaw.net>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: autofs mailing list <autofs@linux.kernel.org>,
	Mike Waychison <Michael.Waychison@Sun.COM>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Towards a Modern Autofs
Date: Sat, 10 Jan 2004 02:32:12 +0800 (WST)	[thread overview]
Message-ID: <Pine.LNX.4.33.0401100223130.21972-100000@wombat.indigo.net.au> (raw)
In-Reply-To: <3FFD9498.6030905@zytor.com>

On Thu, 8 Jan 2004, H. Peter Anvin wrote:

> Ian Kent wrote:
> >
> > If wildcard map entries are not in autofs v3 then Jeremy implemented this
> > in v4.
> >
>
> v3 has had wildcard map entries and substitutions for a very, very, very
> long time... it was a v2 feature, in fact.
>
> > And yes the host map is basically a program map and that's all. Worse, as
> > pointed out in the paper it mounts everything under it. This is a source
> > of stress for mount and umount. I have put in a fair bit of time on ugly
> > hacks to work around this. This same problem is also evident in startup
> > and shutdown for master maps with a good number of entries (~50 or more).
> > A consequence of the current multiple daemon approach.
>
> This is why one wants to implement a mount tree with "direct mount
> pads"; which also means keeping some state in the daemon.
>
> For example, let's say one has a mount tree like:
>
> /foo		server1:/export/foo \
> /foo/bar	server1:/export/bar \
> /bar		server2:/export/bar
>
> ... then you actually have four diffenent filesystems involved: first,
> some kind of "scaffolding" (this can be part of the autofs filesystem
> itself or a ramfs) that hold the "foo" and "bar" directories, and then
> foo, foo/bar, and bar.
>
> Consider the following implementation: when one encounters the above,
> the daemon stashes this away as an already-encountered map entry (in
> case the map entries change, we don't want to be inconsistent), creates
> a ramfs for the scaffolding, creates the "foo" and "bar" subdirectories
> and mount-traps "foo" and "bar".  Then it releases userspace.  When it
> encounters an access on "foo", it gets invoked again, looks it up in its
> "partial mounts" state, then mounts "foo" and mount-traps "foo/bar",
> then releases userspace.
>

Umm. The cross filesystem problem again.

This may sound a little silly but it may be able to be done using
stackable filesystem methods (aka. Zadok et. al.). I'm thinking of an
autofs filesystem stacked on a host filesystem. The dentrys corresponding
to mount points marked in some way and the mount occuring under it, on top
of the host filesystem. Yes I know it sounds ugly but maybe it's not.
Maybe it's actually quite simple. I can't give an opinion yet as I'm still
thinking it through and haven't done any feasibility. However, this
approach would lend itself to providing autofs filesystem transparency. A
requirement as yet not discussed.

Ian

  parent reply	other threads:[~2004-01-09 18:34 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-06 19:55 [RFC] Towards a Modern Autofs Mike Waychison
2004-01-06 19:55 ` Mike Waychison
2004-01-06 21:01 ` [autofs] " H. Peter Anvin
2004-01-06 21:01   ` H. Peter Anvin
2004-01-06 21:44   ` [autofs] " Mike Waychison
2004-01-06 21:44     ` Mike Waychison
2004-01-06 21:50   ` [autofs] " Tim Hockin
2004-01-06 21:50     ` Tim Hockin
2004-01-06 22:06     ` [autofs] " H. Peter Anvin
2004-01-06 22:06       ` H. Peter Anvin
2004-01-06 22:17       ` [autofs] " Tim Hockin
     [not found]       ` <20040106221502.GA7398@hockin.org>
2004-01-06 22:20         ` H. Peter Anvin
2004-01-06 22:20           ` H. Peter Anvin
2004-01-07 16:19           ` [autofs] " Mike Waychison
2004-01-07 16:19             ` Mike Waychison
2004-01-07 17:55             ` [autofs] " H. Peter Anvin
2004-01-07 21:13               ` Mike Waychison
2004-01-06 22:28       ` name spaces good (was: [autofs] [RFC] Towards a Modern Autofs) Dax Kelson
2004-01-06 22:48         ` name spaces good H. Peter Anvin
2004-01-06 22:48           ` H. Peter Anvin
2004-01-07 21:14 ` [autofs] [RFC] Towards a Modern Autofs Jim Carter
2004-01-07 21:14   ` Jim Carter
2004-01-07 22:55   ` [autofs] " Mike Waychison
2004-01-07 22:55     ` Mike Waychison
2004-01-08 12:00     ` [autofs] " Ian Kent
2004-01-08 12:00       ` Ian Kent
2004-01-08 15:39       ` [autofs] " Mike Waychison
2004-01-09 18:20         ` Ian Kent
2004-01-09 18:20           ` Ian Kent
2004-01-09 20:06           ` [autofs] " Mike Waychison
2004-01-09 20:06             ` Mike Waychison
2004-01-10  5:43             ` [autofs] " Ian Kent
2004-01-12 13:07               ` Mike Waychison
2004-01-12 16:01                 ` raven
2004-01-12 16:26                   ` Mike Waychison
2004-01-12 22:50                     ` Tim Hockin
2004-01-12 23:28                       ` Mike Waychison
2004-01-13  1:30                       ` Ian Kent
2004-01-13  1:30                         ` Ian Kent
2004-01-12 16:28                   ` [autofs] " raven
2004-01-12 16:58                     ` Mike Waychison
2004-01-13  1:54                       ` Ian Kent
2004-01-13  1:54                         ` Ian Kent
2004-01-13 19:01                         ` [autofs] " Mike Waychison
2004-01-13 19:01                           ` Mike Waychison
2004-01-14 15:58                           ` [autofs] " raven
2004-01-14 19:32                             ` running out of mount points Greg Bradner
2004-01-19 15:48                               ` Greg Bradner
2004-01-19 17:11                                 ` Mike Waychison
2004-01-19 19:07                                   ` Greg Bradner
2004-01-20 19:15                                 ` Jim Carter
2004-01-13 18:46                   ` [autofs] [RFC] Towards a Modern Autofs Mike Waychison
2004-01-13 18:46                     ` Mike Waychison
2004-01-09 20:51           ` [autofs] " Jim Carter
2004-01-09 20:51             ` Jim Carter
2004-01-10  5:56             ` [autofs] " Ian Kent
2004-01-08 17:34       ` H. Peter Anvin
2004-01-08 19:41         ` Mike Waychison
2004-01-08 23:42         ` Michael Clark
2004-01-09 20:28           ` Mike Waychison
2004-01-09 20:28             ` Mike Waychison
2004-01-09 20:54             ` [autofs] " H. Peter Anvin
2004-01-09 20:54               ` H. Peter Anvin
2004-01-09 21:43               ` [autofs] " Mike Waychison
2004-01-09 21:43                 ` Mike Waychison
2004-01-09 18:32         ` Ian Kent [this message]
2004-01-09 18:32           ` Ian Kent
2004-01-09 20:52           ` [autofs] " Mike Waychison
2004-01-09 20:52             ` Mike Waychison
2004-01-10  6:05             ` [autofs] " Ian Kent
2004-01-08 12:29     ` Olivier Galibert
2004-01-08 13:20       ` Robin Rosenberg
2004-01-08 16:23       ` Mike Waychison
2004-01-08 12:35     ` Ian Kent
2004-01-08 13:08       ` Ian Kent
2004-01-08 18:20     ` Jim Carter
2004-01-08 21:01       ` H. Peter Anvin
2004-01-08  0:48   ` Ian Kent
2004-01-08  0:48     ` Ian Kent
2004-01-06 22:28 [autofs] " Ogden, Aaron A.
2004-01-06 22:41 ` Mike Fedyk
2004-01-06 22:47 ` Tim Hockin
2004-01-06 22:53 ` Paul Raines
2004-01-07 23:14 ` Jim Carter
2004-01-07 23:32   ` H. Peter Anvin
2004-01-08 12:52     ` Ian Kent
2004-01-08 12:52       ` Ian Kent
2004-01-08 18:31       ` viro
2004-01-09 18:43         ` Ian Kent
2004-01-09 19:41         ` Mike Waychison
2004-01-09 19:57           ` H. Peter Anvin
2004-01-09 21:31             ` Mike Waychison
2004-01-09 21:36               ` H. Peter Anvin
2004-01-06 23:34 Ogden, Aaron A.
2004-01-06 23:47 ` Tim Hockin
     [not found] <1b5GC-29h-1@gated-at.bofh.it>
     [not found] ` <1b6CO-3v0-15@gated-at.bofh.it>
2004-01-07  4:21   ` Andi Kleen
2004-01-07 17:50     ` H. Peter Anvin
2004-01-07 21:04       ` Mike Waychison
2004-01-07 21:11         ` Mike Fedyk
2004-01-07 23:40           ` Jesper Juhl
2004-01-07 21:24         ` Jeff Garzik
2004-01-07 23:47           ` Mike Waychison
2004-01-07 23:56             ` Jeff Garzik
2004-01-12 16:57               ` Mike Waychison
2004-01-13  7:39                 ` Ian Kent
2004-01-08 19:32 trond.myklebust
2004-01-08 19:41 ` H. Peter Anvin
2004-01-08 20:08   ` trond.myklebust
2004-01-08 21:13     ` H. Peter Anvin
2004-01-08 22:20       ` J. Bruce Fields
2004-01-08 22:24         ` H. Peter Anvin
2004-01-09 20:37       ` Mike Waychison
2004-01-09 21:02         ` H. Peter Anvin
2004-01-09 21:52           ` Mike Waychison
2004-01-09 20:16   ` Mike Waychison

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=Pine.LNX.4.33.0401100223130.21972-100000@wombat.indigo.net.au \
    --to=raven@themaw.net \
    --cc=Michael.Waychison@Sun.COM \
    --cc=autofs@linux.kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.