Date: Mon, 1 Jun 2020 20:09:37 -0700 (PDT) From: "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Mark Johnston <markj@freebsd.org>, "patrykkotlowski@gmail.com" <patrykkotlowski@gmail.com> Subject: Re: how to fix an interesting issue with mountd? Message-ID: <202006020309.05239bpL015193@gndrsh.dnsmgr.net> In-Reply-To: <QB1PR01MB3649A8589A742A5BD5CB9AE7DD8B0@QB1PR01MB3649.CANPRD01.PROD.OUTLOOK.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi, > > I'm posting this one to freebsd-net@ since it seems vaguely similar > to a network congestion problem and thought that network types > might have some ideas w.r.t. fixing it? > > PR#246597 - Reports a problem (which if I understand it is) where a sighup > is posted to mountd and then another sighup is posted to mountd while > it is reloading exports and the exports are not reloaded again. > --> The simple patch in the PR fixes the above problem, but I think will > aggravate another one. > For some NFS servers, it can take minutes to reload the exports file(s). > (I believe Peter Erriksonn has a server with 80000+ file systems exported.) > r348590 reduced the time taken, but it is still minutes, if I recall correctly. > --> If you apply the patch in the PR and sighups are posted to mountd as > often as it takes to reload the exports file(s), it will simply reload the > exports file(s) over and over and over again, instead of processing > Mount RPC requests. > > So, finally to the interesting part... > - It seems that the code needs to be changed so that it won't "forget" > sighup(s) posted to it, but it should not reload the exports file(s) too > frequently. > --> My thoughts are something like: > - Note that sighup(s) were posted while reloading the exports file(s) and > do the reload again, after some minimum delay. > --> The minimum delay might only need to be 1second to allow some > RPCs to be processed before reload happens again. > Or > --> The minimum delay could be some fraction of how long a reload takes. > (The code could time the reload and use that to calculate how long to > delay before doing the reload again.) > > Any ideas or suggestions? rick > ps: I've actually known about this for some time, but since I didn't have a good > solution... Build a system that allows adding and removing entries from the in mountd exports data so that you do not have to do a full reload every time one is added or removed? Build a system that used 2 exports tables, the active one, and the one that was being loaded, so that you can process RPC's and reloads at the same time. > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > -- Rod Grimes rgrimes@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006020309.05239bpL015193>