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>