]> granicus.if.org Git - zfs/commitdiff
Add fix-rwlocks branch
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 20 Nov 2008 20:51:59 +0000 (12:51 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 20 Nov 2008 20:51:59 +0000 (12:51 -0800)
.topdeps [new file with mode: 0644]
.topmsg [new file with mode: 0644]
zfs/lib/libzpool/zap.c
zfs/lib/libzpool/zap_micro.c

diff --git a/.topdeps b/.topdeps
new file mode 100644 (file)
index 0000000..1f7391f
--- /dev/null
+++ b/.topdeps
@@ -0,0 +1 @@
+master
diff --git a/.topmsg b/.topmsg
new file mode 100644 (file)
index 0000000..4376549
--- /dev/null
+++ b/.topmsg
@@ -0,0 +1,8 @@
+From: Brian Behlendorf <behlendorf1@llnl.gov>
+Subject: [PATCH] fix rwlocks
+
+Properly initialize and destroy locking primitives.
+
+Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+
+---
index f4f456ce8b66b1bf9d36eb3e5df95fc2c0180a56..3eb838c13d7e73c6b0bad4031ec0ecee5a237891 100644 (file)
@@ -388,7 +388,7 @@ zap_create_leaf(zap_t *zap, dmu_tx_t *tx)
 
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
 
-       rw_init(&l->l_rwlock, 0, 0, 0);
+       rw_init(&l->l_rwlock, NULL, RW_DEFAULT, NULL);
        rw_enter(&l->l_rwlock, RW_WRITER);
        l->l_blkid = zap_allocate_blocks(zap, 1);
        l->l_dbuf = NULL;
@@ -446,7 +446,7 @@ zap_open_leaf(uint64_t blkid, dmu_buf_t *db)
        ASSERT(blkid != 0);
 
        l = kmem_alloc(sizeof (zap_leaf_t), KM_SLEEP);
-       rw_init(&l->l_rwlock, 0, 0, 0);
+       rw_init(&l->l_rwlock, NULL, RW_DEFAULT, NULL);
        rw_enter(&l->l_rwlock, RW_WRITER);
        l->l_blkid = blkid;
        l->l_bs = highbit(db->db_size)-1;
index 7aea76b311e603a5861b938f555abb725990cebd..59e3a8e4d14c817763c1f80acaf02346dce51c65 100644 (file)
@@ -286,7 +286,7 @@ mzap_open(objset_t *os, uint64_t obj, dmu_buf_t *db)
        ASSERT3U(MZAP_ENT_LEN, ==, sizeof (mzap_ent_phys_t));
 
        zap = kmem_zalloc(sizeof (zap_t), KM_SLEEP);
-       rw_init(&zap->zap_rwlock, 0, 0, 0);
+       rw_init(&zap->zap_rwlock, NULL, RW_DEFAULT, NULL);
        rw_enter(&zap->zap_rwlock, RW_WRITER);
        zap->zap_objset = os;
        zap->zap_object = obj;