Print this page
Go ahead and destroy the NFSv4 database tables
        
*** 1515,1530 ****
          rw_destroy(&nsrv4->rfs4_findclient_lock);
  
          /* First stop all of the reaper threads in the database */
          rfs4_database_shutdown(dbp);
          /*
!          * XXX workaround
!          * Skip destrying the state database yet just in case there
!          * are unfinished operations depending on it.
           */
          /* Now destroy/release the database tables */
!         /* rfs4_database_destroy(dbp); */
  
          /* Reset the cache timers for next time */
          nsrv4->rfs4_client_cache_time = 0;
          nsrv4->rfs4_openowner_cache_time = 0;
          nsrv4->rfs4_state_cache_time = 0;
--- 1515,1532 ----
          rw_destroy(&nsrv4->rfs4_findclient_lock);
  
          /* First stop all of the reaper threads in the database */
          rfs4_database_shutdown(dbp);
          /*
!          * WARNING: There may be consumers of the rfs4 database still
!          * active as we destroy these.  IF that's the case, consider putting
!          * some of their _zone_fini()-like functions into the zsd key as
!          * ~~SHUTDOWN~~ functions instead of ~~DESTROY~~ functions.  We can
!          * maintain some ordering guarantees better that way.
           */
          /* Now destroy/release the database tables */
!         rfs4_database_destroy(dbp);
  
          /* Reset the cache timers for next time */
          nsrv4->rfs4_client_cache_time = 0;
          nsrv4->rfs4_openowner_cache_time = 0;
          nsrv4->rfs4_state_cache_time = 0;