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;