SUNRPC: stop using ->sv_nrthreads as a refcount
[sfrench/cifs-2.6.git] / fs / nfsd / netns.h
index 935c1028c21755ecc3f1f25dcba23d6094342367..08bcd8f23b0139628524a901dae079614f0a66cb 100644 (file)
@@ -123,6 +123,13 @@ struct nfsd_net {
        u32 clverifier_counter;
 
        struct svc_serv *nfsd_serv;
+       /* When a listening socket is added to nfsd, keep_active is set
+        * and this justifies a reference on nfsd_serv.  This stops
+        * nfsd_serv from being freed.  When the number of threads is
+        * set, keep_active is cleared and the reference is dropped.  So
+        * when the last thread exits, the service will be destroyed.
+        */
+       int keep_active;
 
        wait_queue_head_t ntf_wq;
        atomic_t ntf_refcnt;