Date: Wed, 09 Jan 2013 13:36:39 -0500 From: Jason Keltz <jas@cse.yorku.ca> To: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua> Cc: FreeBSD Filesystems <freebsd-fs@freebsd.org> Subject: Re: Problems Re-Starting mountd Message-ID: <50EDB8B7.4040708@cse.yorku.ca> In-Reply-To: <20130109125554.GA1574@pm513-1.comsys.ntu-kpi.kiev.ua> References: <CAG27QgRi89jHWeqzuNikpGM7=JiV%2BDB8f5Xu0JYGhEfQwOrjKQ@mail.gmail.com> <20130103123730.GA19137@pm513-1.comsys.ntu-kpi.kiev.ua> <CAG27QgTuGyPSVxTbCnP3U494ftPxzX5HD56Mtkc-2jMFPNk=ZQ@mail.gmail.com> <20130108150508.GA2248@pm513-1.comsys.ntu-kpi.kiev.ua> <50EC39A8.3070108@cse.yorku.ca> <20130109125554.GA1574@pm513-1.comsys.ntu-kpi.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/09/2013 07:55 AM, Andrey Simonenko wrote: > > When mountd starts it flushes NFS export settings for all file systems, > for each mount point it calls nmount(), even if /etc/exports is empty > it will call nmount() for all currently mounted file systems. > > When mountd loads export settings into NFS server it calls statfs() and > lstat() for each pathname from /etc/exports (number of lstat() calls depends > on number of '/' in each pathname), then it calls nmount() for each > address specification for each pathname from /etc/exports. It uses > nmount() interface for communication with kern/vfs_export.c that is > responsible for NFS export settings for file systems. For the NFSv4 > root directory mountd uses nfssvc() to update its settings, that > calls kern/vfs_export.c:vfs_export(). > > When mountd receives SIGHUP it flushes everything and loads /etc/exports. > This signal is sent by mount(8) when it mounts any file system. > > This delay in above described example came from ZFS kernel code, since > the same configuration for 2000 nullfs(5) file systems takes ~0.20 second > (less than second) by mountd in nmount() system calls. At least on > 9.1-STABLE I do not see that this delay came from mountd code, it came > from nmount() used by mountd. > Hi Andrey, Thanks for your message. If this is the case, I wonder if there's really any change that needed at all. Maybe one of the ZFS filesystem maintainers might have some idea why 2000 nullfs filesystems take ~0.20 second to process with nmount(), yet the same number of ZFS filesystems take so much longer to process. Maybe there's a bug somewhere? Jason.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50EDB8B7.4040708>