/* * Destroy a file system processing stack module. */ void pflfs_module_destroy(struct pscfs *m) { if (m->pf_handle_destroy) m->pf_handle_destroy(NULL); pfl_opstat_destroy(m->pf_opst_read_err); pfl_opstat_destroy(m->pf_opst_write_err); pfl_opstat_destroy(m->pf_opst_read_reply); pfl_opstat_destroy(m->pf_opst_write_reply); }
/* * Remove list cache external access registration. * @plc: the list cache to unregister, must be UNLOCKED. */ void lc_unregister(struct psc_listcache *plc) { pfl_opstat_destroy(plc->plc_nseen); pfl_opstat_destroy(plc->plc_st_removes); PLL_LOCK(&psc_listcaches); LIST_CACHE_LOCK(plc); pll_remove(&psc_listcaches, plc); LIST_CACHE_ULOCK(plc); PLL_ULOCK(&psc_listcaches); }
void pfl_odt_release(struct pfl_odt *t) { if (t->odt_bitmap) psc_vbitmap_free(t->odt_bitmap); t->odt_ops.odtop_close(t); pfl_opstat_destroy(t->odt_iostats.rd); pfl_opstat_destroy(t->odt_iostats.wr); PSCFREE(t->odt_hdr); PSCFREE(t); }
void pfl_opstats_grad_destroy(struct pfl_opstats_grad *og) { struct pfl_opstat_bucket *ob; int i; for (i = 0, ob = og->og_buckets; i < og->og_nbuckets; i++, ob++) pfl_opstat_destroy(ob->ob_opst); PSCFREE(og->og_buckets); }