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;