From: Mike Waychison <Michael.Waychison@Sun.COM>
To: Ian Kent <raven@themaw.net>
Cc: autofs mailing list <autofs@linux.kernel.org>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Towards a Modern Autofs
Date: Fri, 09 Jan 2004 15:06:49 -0500 [thread overview]
Message-ID: <3FFF09D9.40909@sun.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0401100143590.21972-100000@wombat.indigo.net.au>
[-- Attachment #1.1: Type: text/plain, Size: 5300 bytes --]
Ian Kent wrote:
>On Thu, 8 Jan 2004, Mike Waychison wrote:
>
>
>
>>The direct map 'triggers' will be taken care of by another filesystem
>>with a magic root directory that will catch traversals using some
>>follow_link magic. I wrote a prototype for this last summer, but
>>haven't released it as the userspace stuff completely does not fit in
>>with the existing daemon that was out at the time do the the mess of
>>glue that was pgids, pipes and processes. It worked in the simple
>>case, but it didn't extend to being able to direct mount an indirect
>>map, nor was it able to do the lazy mounting in multimounts as I had
>>desired.
>>
>>
>
>Is this the stuf that Al Viro is working on?
>
>
>
Al is proposing doing the same thing directly in the VFS instead of
using a magic filesystem as I've described in the document.
> Indeed, I
>haven't solved my requirement of a transparent autofs filesystem aka.
>Solaris automounter again. A difficult problem that will require
>considerable effort.
>
>
>
What do you mean by this? Something that doesn't show up in
/proc/mounts? I don't see this as much of an issue.. On any decently
large machine, there are so many entries anyway that /etc/mtab and
/proc/mounts become humanly unparseable anyhow.
>>>>This is the subtle difference between direct and indirect maps. The
>>>>direct map keys are absolute paths, not path components. We are
>>>>implementing direct mounts as individual filesystems that will trap on
>>>>traversal into their base directory. This filesystem has no idea where
>>>>it is located as far as the user is concerned. We need to tell the
>>>>filesystem directly so that the usermode helper can look it up.
>>>>Conversely, the indirect map uses the sub-directory name as a mapkey.
>>>>
>>>>
>>>>
>>>>
>>>I'm not sure what you are saying here. Does this mean there is a mount for
>>>every direct mount (this might be what you call a trigger)?
>>>
>>>
>>>
>>>
>>>
>>Yes, it is its own filesystem (type autofs). This is needed because we
>>need to overlay direct triggers within NFS filesystems for multimounts.
>>
>>
>
>Ahh. I see, you are talking about the cross filesystem problem. I haven't
>solved that in what I have done either. Fortuneately I still get a good
>hit rate in satisfying peoples' needs as in practice many people don't use
>full automounter functionality.
>
>
>
Yup. But still, one of the nice things about a full automounter
solution is accessing a netapp with hundreds of exports through /net in
a reasonably fast way.
>>?? Really? I find that hard to believe. I thought Solaris shared it's
>>automounter with HPUX and AIX. I may be wrong though.
>>
>>
>
>Old versions perhaps. AIX 4.x was the last I used. It was definately like
>that then. 500+ automounts tends to cluter the mount display a bit.
>
>
>
Could be. Either way, on a system with a thousand NFS shares
automounted, I'm not really concerned about what the mounttable looks
like. It won't be human parseable anyway.
>>>Mmm. The vfsmount_lock is available to modules in 2.6. At least it was in
>>>test11. I'm sure I compiled the module under 2.6 as well???
>>>
>>>I thought that, taking the dcache_lock was the correct thing to do when
>>>traversing a dentry list?
>>>
>>>
>>>
>>>
>>>
>>Walking dentrys still takes the dcache_lock, however walking vfsmounts
>>takes the vfsmount_lock. dcache_lock is no longer used for fast path
>>walking either (to the best of my understanding).
>>
>>find . -name '*.[ch]' -not -path '*SCCS*' | xargs grep vfsmount_lock |
>>grep EXPORT
>>
>>
>
>Strange. How does the module compile I wonder? How does it load without
>unresolved symbols? Another little mystery to work on.
>
>
>
No, you're module doesn't use vfsmount_lock. At least the module in
autofs4-2.4-module-20031201.tar.gz doesn't.
>>The raciness comes from the fact that we now support the lazy-mounting
>>of multimount offsets using embedded direct mounts. Autofs4 mounts all
>>(or as much as it can) from the multimount all together, and unmounts it
>>all on expiry.
>>
>>
>
>But 4.1 does lazy mount for several maps. Mounts that are triggered
>during the umount step of the expire are put on a wait queue along with
>the task requesting the umount. I think autofs always worked that way.
>
>
>
This isn't lazy mounting per se. If you are talking about autofs4's use
of AUTOFS_INF_EXPIRING, it's there to prevent somebody from walking into
a multimount while it is expiring.
>>>Hang on. From the discussion my impression of a lazy mount is that it is
>>>not actually mounted!
>>>
>>>
>>>
>>>
>>>
>>Lazy _un_mounts as opposed to lazy mounts. Lazy unmounts are described
>>in umount(8):
>>
>>
>
>But will this leave the filesystem in a consistent state and allow further
>mount activity on that mount point?
>
>
The underlying autofs filesystem? Sure.
--
Mike Waychison
Sun Microsystems, Inc.
1 (650) 352-5299 voice
1 (416) 202-8336 voice
mailto: Michael.Waychison@Sun.COM
http://www.sun.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTICE: The opinions expressed in this email are held by me,
and may not represent the views of Sun Microsystems, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[-- Attachment #1.2: Type: application/pgp-signature, Size: 251 bytes --]
[-- Attachment #2: Type: text/plain, Size: 140 bytes --]
_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs
WARNING: multiple messages have this Message-ID (diff)
From: Mike Waychison <Michael.Waychison@Sun.COM>
To: Ian Kent <raven@themaw.net>
Cc: Jim Carter <jimc@math.ucla.edu>,
autofs mailing list <autofs@linux.kernel.org>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [autofs] [RFC] Towards a Modern Autofs
Date: Fri, 09 Jan 2004 15:06:49 -0500 [thread overview]
Message-ID: <3FFF09D9.40909@sun.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0401100143590.21972-100000@wombat.indigo.net.au>
[-- Attachment #1: Type: text/plain, Size: 5300 bytes --]
Ian Kent wrote:
>On Thu, 8 Jan 2004, Mike Waychison wrote:
>
>
>
>>The direct map 'triggers' will be taken care of by another filesystem
>>with a magic root directory that will catch traversals using some
>>follow_link magic. I wrote a prototype for this last summer, but
>>haven't released it as the userspace stuff completely does not fit in
>>with the existing daemon that was out at the time do the the mess of
>>glue that was pgids, pipes and processes. It worked in the simple
>>case, but it didn't extend to being able to direct mount an indirect
>>map, nor was it able to do the lazy mounting in multimounts as I had
>>desired.
>>
>>
>
>Is this the stuf that Al Viro is working on?
>
>
>
Al is proposing doing the same thing directly in the VFS instead of
using a magic filesystem as I've described in the document.
> Indeed, I
>haven't solved my requirement of a transparent autofs filesystem aka.
>Solaris automounter again. A difficult problem that will require
>considerable effort.
>
>
>
What do you mean by this? Something that doesn't show up in
/proc/mounts? I don't see this as much of an issue.. On any decently
large machine, there are so many entries anyway that /etc/mtab and
/proc/mounts become humanly unparseable anyhow.
>>>>This is the subtle difference between direct and indirect maps. The
>>>>direct map keys are absolute paths, not path components. We are
>>>>implementing direct mounts as individual filesystems that will trap on
>>>>traversal into their base directory. This filesystem has no idea where
>>>>it is located as far as the user is concerned. We need to tell the
>>>>filesystem directly so that the usermode helper can look it up.
>>>>Conversely, the indirect map uses the sub-directory name as a mapkey.
>>>>
>>>>
>>>>
>>>>
>>>I'm not sure what you are saying here. Does this mean there is a mount for
>>>every direct mount (this might be what you call a trigger)?
>>>
>>>
>>>
>>>
>>>
>>Yes, it is its own filesystem (type autofs). This is needed because we
>>need to overlay direct triggers within NFS filesystems for multimounts.
>>
>>
>
>Ahh. I see, you are talking about the cross filesystem problem. I haven't
>solved that in what I have done either. Fortuneately I still get a good
>hit rate in satisfying peoples' needs as in practice many people don't use
>full automounter functionality.
>
>
>
Yup. But still, one of the nice things about a full automounter
solution is accessing a netapp with hundreds of exports through /net in
a reasonably fast way.
>>?? Really? I find that hard to believe. I thought Solaris shared it's
>>automounter with HPUX and AIX. I may be wrong though.
>>
>>
>
>Old versions perhaps. AIX 4.x was the last I used. It was definately like
>that then. 500+ automounts tends to cluter the mount display a bit.
>
>
>
Could be. Either way, on a system with a thousand NFS shares
automounted, I'm not really concerned about what the mounttable looks
like. It won't be human parseable anyway.
>>>Mmm. The vfsmount_lock is available to modules in 2.6. At least it was in
>>>test11. I'm sure I compiled the module under 2.6 as well???
>>>
>>>I thought that, taking the dcache_lock was the correct thing to do when
>>>traversing a dentry list?
>>>
>>>
>>>
>>>
>>>
>>Walking dentrys still takes the dcache_lock, however walking vfsmounts
>>takes the vfsmount_lock. dcache_lock is no longer used for fast path
>>walking either (to the best of my understanding).
>>
>>find . -name '*.[ch]' -not -path '*SCCS*' | xargs grep vfsmount_lock |
>>grep EXPORT
>>
>>
>
>Strange. How does the module compile I wonder? How does it load without
>unresolved symbols? Another little mystery to work on.
>
>
>
No, you're module doesn't use vfsmount_lock. At least the module in
autofs4-2.4-module-20031201.tar.gz doesn't.
>>The raciness comes from the fact that we now support the lazy-mounting
>>of multimount offsets using embedded direct mounts. Autofs4 mounts all
>>(or as much as it can) from the multimount all together, and unmounts it
>>all on expiry.
>>
>>
>
>But 4.1 does lazy mount for several maps. Mounts that are triggered
>during the umount step of the expire are put on a wait queue along with
>the task requesting the umount. I think autofs always worked that way.
>
>
>
This isn't lazy mounting per se. If you are talking about autofs4's use
of AUTOFS_INF_EXPIRING, it's there to prevent somebody from walking into
a multimount while it is expiring.
>>>Hang on. From the discussion my impression of a lazy mount is that it is
>>>not actually mounted!
>>>
>>>
>>>
>>>
>>>
>>Lazy _un_mounts as opposed to lazy mounts. Lazy unmounts are described
>>in umount(8):
>>
>>
>
>But will this leave the filesystem in a consistent state and allow further
>mount activity on that mount point?
>
>
The underlying autofs filesystem? Sure.
--
Mike Waychison
Sun Microsystems, Inc.
1 (650) 352-5299 voice
1 (416) 202-8336 voice
mailto: Michael.Waychison@Sun.COM
http://www.sun.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTICE: The opinions expressed in this email are held by me,
and may not represent the views of Sun Microsystems, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[-- Attachment #2: Type: application/pgp-signature, Size: 251 bytes --]
next prev parent reply other threads:[~2004-01-09 20:06 UTC|newest]
Thread overview: 91+ 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 ` H. Peter Anvin
2004-01-06 21:01 ` [autofs] " H. Peter Anvin
2004-01-06 21:44 ` Mike Waychison
2004-01-06 21:44 ` [autofs] " Mike Waychison
2004-01-06 21:50 ` Tim Hockin
2004-01-06 21:50 ` [autofs] " Tim Hockin
2004-01-06 22:06 ` H. Peter Anvin
2004-01-06 22:06 ` [autofs] " H. Peter Anvin
2004-01-06 22:17 ` Tim Hockin
[not found] ` <20040106221502.GA7398@hockin.org>
2004-01-06 22:20 ` H. Peter Anvin
2004-01-06 22:20 ` [autofs] " H. Peter Anvin
2004-01-07 16:19 ` Mike Waychison
2004-01-07 16:19 ` [autofs] " Mike Waychison
2004-01-07 17:55 ` 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 ` [RFC] Towards a Modern Autofs Jim Carter
2004-01-07 21:14 ` [autofs] " Jim Carter
2004-01-07 22:55 ` Mike Waychison
2004-01-07 22:55 ` [autofs] " Mike Waychison
2004-01-08 12:00 ` Ian Kent
2004-01-08 12:00 ` [autofs] " Ian Kent
2004-01-08 15:39 ` Mike Waychison
2004-01-09 18:20 ` Ian Kent
2004-01-09 18:20 ` [autofs] " Ian Kent
2004-01-09 20:06 ` Mike Waychison [this message]
2004-01-09 20:06 ` Mike Waychison
2004-01-10 5:43 ` 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 ` [autofs] " Ian Kent
2004-01-12 16:28 ` raven
2004-01-12 16:58 ` Mike Waychison
2004-01-13 1:54 ` Ian Kent
2004-01-13 1:54 ` [autofs] " Ian Kent
2004-01-13 19:01 ` Mike Waychison
2004-01-13 19:01 ` [autofs] " Mike Waychison
2004-01-14 15:58 ` 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 ` [RFC] Towards a Modern Autofs Mike Waychison
2004-01-13 18:46 ` [autofs] " Mike Waychison
2004-01-09 20:51 ` Jim Carter
2004-01-09 20:51 ` [autofs] " Jim Carter
2004-01-10 5:56 ` 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 ` [autofs] " Mike Waychison
2004-01-09 20:54 ` H. Peter Anvin
2004-01-09 20:54 ` [autofs] " H. Peter Anvin
2004-01-09 21:43 ` Mike Waychison
2004-01-09 21:43 ` [autofs] " Mike Waychison
2004-01-09 18:32 ` Ian Kent
2004-01-09 18:32 ` [autofs] " Ian Kent
2004-01-09 20:52 ` Mike Waychison
2004-01-09 20:52 ` [autofs] " Mike Waychison
2004-01-10 6:05 ` 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 ` [autofs] " Ian Kent
-- strict thread matches above, loose matches on Subject: below --
2004-01-06 22:28 Ogden, Aaron A.
2004-01-06 22:53 ` Paul Raines
2004-01-07 14:05 ` Greg Wooledge
2004-01-07 23:14 ` Jim Carter
2004-01-07 23:32 ` H. Peter Anvin
2004-01-08 12:52 ` [autofs] " 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:26 Ogden, Aaron A.
2004-01-06 23:34 Ogden, Aaron A.
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=3FFF09D9.40909@sun.com \
--to=michael.waychison@sun.com \
--cc=autofs@linux.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=raven@themaw.net \
/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.