Skip site navigation (1)Skip section navigation (2)
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>