Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Sep 2017 19:36:04 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Edward Napierala <trasz@FreeBSD.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, Kirk McKusick <mckusick@mckusick.com>, freebsd-fs <freebsd-fs@FreeBSD.org>, "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org>
Subject:   Re: mount / unmount and mountcheckdirs()
Message-ID:  <59255d6c-07fc-19ab-0a8a-914ada69680a@FreeBSD.org>
In-Reply-To: <CAFLM3-rEo1wwYpgV5rmm8wXuCPKXM8it3sp5om%2BVna53_%2BjF0g@mail.gmail.com>
References:  <134c7c6e-f4f1-ef38-cc50-0e56c27c9fb8@FreeBSD.org> <201709150314.v8F3Ea6B085072@chez.mckusick.com> <20170915092001.GK78693@kib.kiev.ua> <CAFLM3-rqg9Pso636Y3Vm6JT0WxWossEfvnsMmmAbC-jEkvyS7Q@mail.gmail.com> <f84704ce-3596-86d0-3c41-6256a7aae8d1@FreeBSD.org> <CAFLM3-rEo1wwYpgV5rmm8wXuCPKXM8it3sp5om%2BVna53_%2BjF0g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15/09/2017 19:02, Edward Napierala wrote:
> 2017-09-15 12:56 GMT+01:00 Andriy Gapon <avg@freebsd.org <mailto:avg@freebsd.org>>:
> 
>     On 15/09/2017 13:08, Edward Napierala wrote:
>     > It does.  For example:
>     >
>     > [trasz@v2:~]% cd /media/md0
>     > [trasz@v2:/media/md0]% mount
>     > /dev/ada0s1a on / (ufs, local, noatime, journaled soft-updates)
>     > devfs on /dev (devfs, local, multilabel)
>     > map -hosts on /net (autofs)
>     > map -media on /media (autofs)
> 
>     Interesting, I thought that /dev/md0 would get mounted as soon as /media/md0 is
>     looked up.  But maybe that would be sub-optimal for some common scenarios...
>     FWIW, ZFS snapshots get auto-mounted under .zfs as soon as there is a lookup.
> 
> 
> You really don't want it to work that way.  If you have a directory with thousands
> of mountpoints inside, you don't want to mount all of them every time you do "ls"
> in that directory.

Well, "ls" wouldn't trigger the mounting as it's just VOP_READDIR in the parent
vnode, "ls -l" (or any other options that require file attributes) is a
different story :-)

> Same problem with mounting on "cd".  That's why autofs triggers
> in three cases: in VOP_READDIR(9), VOP_GETATTR(9), and VOP_LOOKUP(9)
> with the vnode as a parent dir.

Well, "cd" is also a different story, you can't cd to hundreds of directories at
once.  Of course, the filesystem doesn't really know if it's "cd" or something
else that triggered VOP_LOOKUP.  Although VOP_ACCESS could be used as a hint, it
is a rather weak hint.

In any case, I prefer the mount-on-lookup approach as it is "more seamless".

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59255d6c-07fc-19ab-0a8a-914ada69680a>