Пример #1
0
void
zfs_sb_free(zfs_sb_t *zsb)
{
	int i;

	zfs_fuid_destroy(zsb);

	mutex_destroy(&zsb->z_znodes_lock);
	mutex_destroy(&zsb->z_lock);
	list_destroy(&zsb->z_all_znodes);
	rrm_destroy(&zsb->z_teardown_lock);
	rw_destroy(&zsb->z_teardown_inactive_lock);
	rw_destroy(&zsb->z_fuid_lock);
	for (i = 0; i != ZFS_OBJ_MTX_SZ; i++)
		mutex_destroy(&zsb->z_hold_mtx[i]);
	vmem_free(zsb->z_hold_mtx, sizeof (kmutex_t) * ZFS_OBJ_MTX_SZ);
	zfs_mntopts_free(zsb->z_mntopts);
	kmem_free(zsb, sizeof (zfs_sb_t));
}
Пример #2
0
void
zfs_sb_free(zfs_sb_t *zsb)
{
	int i, size = zsb->z_hold_size;

	zfs_fuid_destroy(zsb);

	mutex_destroy(&zsb->z_znodes_lock);
	mutex_destroy(&zsb->z_lock);
	list_destroy(&zsb->z_all_znodes);
	rrm_destroy(&zsb->z_teardown_lock);
	rw_destroy(&zsb->z_teardown_inactive_lock);
	rw_destroy(&zsb->z_fuid_lock);
	for (i = 0; i != size; i++) {
		avl_destroy(&zsb->z_hold_trees[i]);
		mutex_destroy(&zsb->z_hold_locks[i]);
	}
	vmem_free(zsb->z_hold_trees, sizeof (avl_tree_t) * size);
	vmem_free(zsb->z_hold_locks, sizeof (kmutex_t) * size);
	zfs_mntopts_free(zsb->z_mntopts);
	kmem_free(zsb, sizeof (zfs_sb_t));
}