From: Jonathan Loran <jonathan@loran.name>
To: Ian Kent <raven@themaw.net>
Cc: autofs@linux.kernel.org
Subject: Re: statfs() and autofs
Date: Tue, 15 Jul 2008 22:21:31 -0700 [thread overview]
Message-ID: <487D855B.8000405@loran.name> (raw)
In-Reply-To: <1216179794.22783.46.camel@raven.themaw.net>
[-- Attachment #1.1: Type: text/plain, Size: 1885 bytes --]
Ian Kent wrote:
> On Tue, 2008-07-15 at 13:48 -0700, Chris Walker wrote:
>
>> autofs 5.0.3
>> linux 2.6.18
>>
>> When statfs() is called on an automounted directory, it returns before
>> the automount occurs. This results in output like this initially:
>>
>
> That may be because there are a group of system calls that don't trigger
> a mount because we have to avoid mount storms for map entries that use
> the browse option. In particular stat(2) and calls that use the same
> kernel path lookup flags, such as statfs(2).
>
> Basically, if the mount point directory exists in the autofs file system
> but doesn't currently have a mount for some reason (perhaps it wasn't
> removed at expire or the entry uses the browse option), these calls will
> return the attributes of the autofs directory without performing a
> mount.
>
>
Hi Ian,
I need to say that this basically has to be declared a bug. I have been
silent on this until now because I am so over committed with other
tasks, and haven't had time to test it so cleanly as Chris has.
At my lab we find that on machines that do large batch processing,
automounted directories often aren't there at the time that they are
stat-ed. The workaround has been to put in some nanosleeps to give the
mount point a chance to mount, but that is very much a hack, since now
the code authors need to know the point where an automount is joined, or
they at least have to find it out empirically. The code they write has
become unportable and for all we know, incompatible on other systems if
the autofs mount points are different.
To throw this in the mix, somehow, our Solaris systems, which share
identical automount maps, simply never have this issue. Is there an
architectural reason for this? And if so, can we learn how this is so,
and apply similar logic to the Linux autofs/mount path?
Thanks,
Jon
[-- Attachment #1.2: Type: text/html, Size: 2337 bytes --]
[-- Attachment #2: Type: text/plain, Size: 140 bytes --]
_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs
next prev parent reply other threads:[~2008-07-16 5:21 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 20:48 statfs() and autofs Chris Walker
2008-07-16 3:43 ` Ian Kent
2008-07-16 5:21 ` Jonathan Loran [this message]
2008-07-20 22:24 ` Jim Carter
2008-07-21 3:41 ` Chris Walker
2008-07-21 4:39 ` Ian Kent
2008-07-21 4:56 ` Ian Kent
2008-07-21 5:00 ` Chris Walker
2008-07-21 5:12 ` Ian Kent
2008-07-21 5:08 ` Jonathan Loran
2008-07-21 5:50 ` Chris Walker
2008-07-21 7:35 ` Ian Kent
2008-07-22 16:39 ` Chris Walker
2008-07-23 21:39 ` Chris Walker
2008-08-04 17:17 ` Chris Walker
2008-07-21 15:26 ` Steve Thompson
2008-07-16 5:30 ` Chris Walker
2008-07-16 14:05 ` Ian Kent
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=487D855B.8000405@loran.name \
--to=jonathan@loran.name \
--cc=autofs@linux.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.