mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Add missing *_destroy/*_fini calls
The proposed debugging enhancements in zfsonlinux/spl#587 identified the following missing *_destroy/*_fini calls. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Gvozden Neskovic <neskovic@gmail.com> Closes #5428
This commit is contained in:
committed by
Brian Behlendorf
parent
8fa5250f5d
commit
c17486b217
@@ -846,6 +846,7 @@ dmu_objset_evict_done(objset_t *os)
|
||||
mutex_destroy(&os->os_userused_lock);
|
||||
mutex_destroy(&os->os_obj_lock);
|
||||
mutex_destroy(&os->os_user_ptr_lock);
|
||||
mutex_destroy(&os->os_upgrade_lock);
|
||||
for (int i = 0; i < TXG_SIZE; i++) {
|
||||
multilist_destroy(os->os_dirty_dnodes[i]);
|
||||
}
|
||||
|
||||
@@ -120,6 +120,7 @@ dsl_deadlist_close(dsl_deadlist_t *dl)
|
||||
dsl_deadlist_entry_t *dle;
|
||||
|
||||
dl->dl_os = NULL;
|
||||
mutex_destroy(&dl->dl_lock);
|
||||
|
||||
if (dl->dl_oldfmt) {
|
||||
dl->dl_oldfmt = B_FALSE;
|
||||
@@ -136,7 +137,6 @@ dsl_deadlist_close(dsl_deadlist_t *dl)
|
||||
avl_destroy(&dl->dl_tree);
|
||||
}
|
||||
dmu_buf_rele(dl->dl_dbuf, dl);
|
||||
mutex_destroy(&dl->dl_lock);
|
||||
dl->dl_dbuf = NULL;
|
||||
dl->dl_phys = NULL;
|
||||
}
|
||||
|
||||
@@ -348,6 +348,7 @@ dsl_pool_close(dsl_pool_t *dp)
|
||||
|
||||
rrw_destroy(&dp->dp_config_rwlock);
|
||||
mutex_destroy(&dp->dp_lock);
|
||||
cv_destroy(&dp->dp_spaceavail_cv);
|
||||
taskq_destroy(dp->dp_iput_taskq);
|
||||
if (dp->dp_blkstats)
|
||||
vmem_free(dp->dp_blkstats, sizeof (zfs_all_blkstats_t));
|
||||
|
||||
@@ -710,6 +710,9 @@ vdev_free(vdev_t *vd)
|
||||
mutex_destroy(&vd->vdev_stat_lock);
|
||||
mutex_destroy(&vd->vdev_probe_lock);
|
||||
|
||||
zfs_ratelimit_fini(&vd->vdev_delay_rl);
|
||||
zfs_ratelimit_fini(&vd->vdev_checksum_rl);
|
||||
|
||||
if (vd == spa->spa_root_vdev)
|
||||
spa->spa_root_vdev = NULL;
|
||||
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ fzap_upgrade(zap_t *zap, dmu_tx_t *tx, zap_flags_t flags)
|
||||
zap->zap_dbu.dbu_evict_func_sync = zap_evict_sync;
|
||||
zap->zap_dbu.dbu_evict_func_async = NULL;
|
||||
|
||||
mutex_init(&zap->zap_f.zap_num_entries_mtx, 0, 0, 0);
|
||||
mutex_init(&zap->zap_f.zap_num_entries_mtx, 0, MUTEX_DEFAULT, 0);
|
||||
zap->zap_f.zap_block_shift = highbit64(zap->zap_dbuf->db_size) - 1;
|
||||
|
||||
zp = zap_f_phys(zap);
|
||||
|
||||
@@ -404,7 +404,8 @@ mzap_open(objset_t *os, uint64_t obj, dmu_buf_t *db)
|
||||
zap->zap_dbuf = db;
|
||||
|
||||
if (zap_block_type != ZBT_MICRO) {
|
||||
mutex_init(&zap->zap_f.zap_num_entries_mtx, 0, 0, 0);
|
||||
mutex_init(&zap->zap_f.zap_num_entries_mtx, 0, MUTEX_DEFAULT,
|
||||
0);
|
||||
zap->zap_f.zap_block_shift = highbit64(db->db_size) - 1;
|
||||
if (zap_block_type != ZBT_HEADER || zap_magic != ZAP_MAGIC) {
|
||||
winner = NULL; /* No actual winner here... */
|
||||
|
||||
@@ -1913,6 +1913,8 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t *zplprops, dmu_tx_t *tx)
|
||||
mutex_destroy(&zfsvfs->z_hold_locks[i]);
|
||||
}
|
||||
|
||||
mutex_destroy(&zfsvfs->z_znodes_lock);
|
||||
|
||||
vmem_free(zfsvfs->z_hold_trees, sizeof (avl_tree_t) * size);
|
||||
vmem_free(zfsvfs->z_hold_locks, sizeof (kmutex_t) * size);
|
||||
kmem_free(sb, sizeof (struct super_block));
|
||||
|
||||
Reference in New Issue
Block a user