From: Brian Behlendorf Date: Fri, 28 May 2010 20:52:52 +0000 (-0700) Subject: Merge commit 'refs/top-bases/fix-rwlocks' into fix-rwlocks X-Git-Tag: zfs-0.5.0~38^2^2~1^2^2~34^2^2^2~7^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0d4d1a7861bd01c4d10cade27d7d345c0d744018;p=zfs Merge commit 'refs/top-bases/fix-rwlocks' into fix-rwlocks Conflicts: module/zfs/dsl_dataset.c --- 0d4d1a7861bd01c4d10cade27d7d345c0d744018 diff --cc module/zfs/dsl_dataset.c index 558f969f9,ddd83576c..38e4762a3 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@@ -363,13 -391,13 +391,13 @@@ dsl_dataset_get_ref(dsl_pool_t *dp, uin mutex_init(&ds->ds_lock, NULL, MUTEX_DEFAULT, NULL); mutex_init(&ds->ds_recvlock, NULL, MUTEX_DEFAULT, NULL); mutex_init(&ds->ds_opening_lock, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&ds->ds_deadlist.bpl_lock, NULL, MUTEX_DEFAULT, - NULL); - rw_init(&ds->ds_rwlock, 0, 0, 0); + rw_init(&ds->ds_rwlock, NULL, RW_DEFAULT, NULL); cv_init(&ds->ds_exclusive_cv, NULL, CV_DEFAULT, NULL); - err = bplist_open(&ds->ds_deadlist, + bplist_create(&ds->ds_pending_deadlist); + dsl_deadlist_open(&ds->ds_deadlist, mos, ds->ds_phys->ds_deadlist_obj); + if (err == 0) { err = dsl_dir_open_obj(dp, ds->ds_phys->ds_dir_obj, NULL, ds, &ds->ds_dir);