diff --git a/module/zfs/arc.c b/module/zfs/arc.c index f67a92d807..e0e4ca1bb0 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -755,6 +755,8 @@ hdr_cons(void *vbuf, void *unused, int kmflag) refcount_create(&buf->b_refcnt); cv_init(&buf->b_cv, NULL, CV_DEFAULT, NULL); mutex_init(&buf->b_freeze_lock, NULL, MUTEX_DEFAULT, NULL); + list_link_init(&buf->b_arc_node); + list_link_init(&buf->b_l2node); ARCSTAT_INCR(arcstat_hdr_size, HDR_SIZE); return (0); @@ -4364,6 +4366,7 @@ l2arc_add_vdev(spa_t *spa, vdev_t *vd, uint64_t start, uint64_t end) adddev->l2ad_hand = adddev->l2ad_start; adddev->l2ad_evict = adddev->l2ad_start; adddev->l2ad_first = B_TRUE; + list_link_init(&adddev->l2ad_node); ASSERT3U(adddev->l2ad_write, >, 0); /* diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c index d7ff083b46..1fd66d9647 100644 --- a/module/zfs/dbuf.c +++ b/module/zfs/dbuf.c @@ -58,6 +58,7 @@ dbuf_cons(void *vdb, void *unused, int kmflag) mutex_init(&db->db_mtx, NULL, MUTEX_DEFAULT, NULL); cv_init(&db->db_changed, NULL, CV_DEFAULT, NULL); refcount_create(&db->db_holds); + list_link_init(&db->db_link); return (0); } diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index db123a5420..ad9b717a61 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -359,6 +359,7 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint64_t dsobj, void *tag, ds->ds_dbuf = dbuf; ds->ds_object = dsobj; ds->ds_phys = dbuf->db_data; + list_link_init(&ds->ds_synced_link); mutex_init(&ds->ds_lock, NULL, MUTEX_DEFAULT, NULL); mutex_init(&ds->ds_opening_lock, NULL, MUTEX_DEFAULT, NULL);