Hi all, > The calculation of how many clients the nfs server can manage is only an > heuristic. Triggering the laundromat to clean up old clients when we > have more than the heuristic limit is valid, but refusing to create new > clients is not. Client creation should only fail if there really isn't > enough memory available. > This is not known to have caused a problem is production use, but > testing of lots of clients reports an error and it is not clear that > this error is justified. > Signed-off-by: NeilBrown <neilb@xxxxxxx> > --- > fs/nfsd/nfs4state.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index daf83823ba48..8a40bb6a4a67 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -2223,10 +2223,9 @@ static struct nfs4_client *alloc_client(struct xdr_netobj name, > struct nfs4_client *clp; > int i; > - if (atomic_read(&nn->nfs4_client_count) >= nn->nfs4_max_clients) { > + if (atomic_read(&nn->nfs4_client_count) >= nn->nfs4_max_clients) > mod_delayed_work(laundry_wq, &nn->laundromat_work, 0); > - return NULL; > - } LGTM. Reviewed-by: Petr Vorel <pvorel@xxxxxxx> Kind regards, Petr > + > clp = kmem_cache_zalloc(client_slab, GFP_KERNEL); > if (clp == NULL) > return NULL;