]> git.proxmox.com Git - mirror_zfs.git/commitdiff
OpenZFS 9328 - zap code can take advantage of c99
authorMatthew Ahrens <mahrens@delphix.com>
Wed, 30 May 2018 18:16:54 +0000 (11:16 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 31 May 2018 17:53:11 +0000 (10:53 -0700)
The ZAP code was written before we allowed c99 in the Solaris kernel. We
should change it to take advantage of being able to declare variables where
they are first used. This reduces variable scope and means less scrolling
to find the type of variables.

Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Approved by: Dan McDonald <danmcd@joyent.com>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
OpenZFS-issue: https://illumos.org/issues/9328
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/76ead05
Closes #7578

module/zfs/zap.c
module/zfs/zap_leaf.c
module/zfs/zap_micro.c

index d899ccdb7001d881192a5638321ad871a6ec0899..6d8c498042c99410e31fa57d01a8e30654f6aab7 100644 (file)
@@ -58,9 +58,7 @@ static uint64_t zap_allocate_blocks(zap_t *zap, int nblocks);
 void
 fzap_byteswap(void *vbuf, size_t size)
 {
-       uint64_t block_type;
-
-       block_type = *(uint64_t *)vbuf;
+       uint64_t block_type = *(uint64_t *)vbuf;
 
        if (block_type == ZBT_LEAF || block_type == BSWAP_64(ZBT_LEAF))
                zap_leaf_byteswap(vbuf, size);
@@ -73,11 +71,6 @@ fzap_byteswap(void *vbuf, size_t size)
 void
 fzap_upgrade(zap_t *zap, dmu_tx_t *tx, zap_flags_t flags)
 {
-       dmu_buf_t *db;
-       zap_leaf_t *l;
-       int i;
-       zap_phys_t *zp;
-
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
        zap->zap_ismicro = FALSE;
 
@@ -87,7 +80,7 @@ fzap_upgrade(zap_t *zap, dmu_tx_t *tx, zap_flags_t flags)
        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);
+       zap_phys_t *zp = zap_f_phys(zap);
        /*
         * explicitly zero it since it might be coming from an
         * initialized microzap
@@ -106,17 +99,18 @@ fzap_upgrade(zap_t *zap, dmu_tx_t *tx, zap_flags_t flags)
        zp->zap_flags = flags;
 
        /* block 1 will be the first leaf */
-       for (i = 0; i < (1<<zp->zap_ptrtbl.zt_shift); i++)
+       for (int i = 0; i < (1<<zp->zap_ptrtbl.zt_shift); i++)
                ZAP_EMBEDDED_PTRTBL_ENT(zap, i) = 1;
 
        /*
         * set up block 1 - the first leaf
         */
-       VERIFY(0 == dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       dmu_buf_t *db;
+       VERIFY0(dmu_buf_hold(zap->zap_objset, zap->zap_object,
            1<<FZAP_BLOCK_SHIFT(zap), FTAG, &db, DMU_READ_NO_PREFETCH));
        dmu_buf_will_dirty(db, tx);
 
-       l = kmem_zalloc(sizeof (zap_leaf_t), KM_SLEEP);
+       zap_leaf_t *l = kmem_zalloc(sizeof (zap_leaf_t), KM_SLEEP);
        l->l_dbuf = db;
 
        zap_leaf_init(l, zp->zap_normflags != 0);
@@ -146,9 +140,7 @@ zap_table_grow(zap_t *zap, zap_table_phys_t *tbl,
     void (*transfer_func)(const uint64_t *src, uint64_t *dst, int n),
     dmu_tx_t *tx)
 {
-       uint64_t b, newblk;
-       dmu_buf_t *db_old, *db_new;
-       int err;
+       uint64_t newblk;
        int bs = FZAP_BLOCK_SHIFT(zap);
        int hepb = 1<<(bs-4);
        /* hepb = half the number of entries in a block */
@@ -172,21 +164,23 @@ zap_table_grow(zap_t *zap, zap_table_phys_t *tbl,
         * Copy the ptrtbl from the old to new location.
         */
 
-       b = tbl->zt_blks_copied;
-       err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       uint64_t b = tbl->zt_blks_copied;
+       dmu_buf_t *db_old;
+       int err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
            (tbl->zt_blk + b) << bs, FTAG, &db_old, DMU_READ_NO_PREFETCH);
-       if (err)
+       if (err != 0)
                return (err);
 
        /* first half of entries in old[b] go to new[2*b+0] */
-       VERIFY(0 == dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       dmu_buf_t *db_new;
+       VERIFY0(dmu_buf_hold(zap->zap_objset, zap->zap_object,
            (newblk + 2*b+0) << bs, FTAG, &db_new, DMU_READ_NO_PREFETCH));
        dmu_buf_will_dirty(db_new, tx);
        transfer_func(db_old->db_data, db_new->db_data, hepb);
        dmu_buf_rele(db_new, FTAG);
 
        /* second half of entries in old[b] go to new[2*b+1] */
-       VERIFY(0 == dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       VERIFY0(dmu_buf_hold(zap->zap_objset, zap->zap_object,
            (newblk + 2*b+1) << bs, FTAG, &db_new, DMU_READ_NO_PREFETCH));
        dmu_buf_will_dirty(db_new, tx);
        transfer_func((uint64_t *)db_old->db_data + hepb,
@@ -221,22 +215,20 @@ static int
 zap_table_store(zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, uint64_t val,
     dmu_tx_t *tx)
 {
-       int err;
-       uint64_t blk, off;
        int bs = FZAP_BLOCK_SHIFT(zap);
-       dmu_buf_t *db;
 
        ASSERT(RW_LOCK_HELD(&zap->zap_rwlock));
        ASSERT(tbl->zt_blk != 0);
 
        dprintf("storing %llx at index %llx\n", val, idx);
 
-       blk = idx >> (bs-3);
-       off = idx & ((1<<(bs-3))-1);
+       uint64_t blk = idx >> (bs-3);
+       uint64_t off = idx & ((1<<(bs-3))-1);
 
-       err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       dmu_buf_t *db;
+       int err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
            (tbl->zt_blk + blk) << bs, FTAG, &db, DMU_READ_NO_PREFETCH);
-       if (err)
+       if (err != 0)
                return (err);
        dmu_buf_will_dirty(db, tx);
 
@@ -249,7 +241,7 @@ zap_table_store(zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, uint64_t val,
                err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
                    (tbl->zt_nextblk + blk2) << bs, FTAG, &db2,
                    DMU_READ_NO_PREFETCH);
-               if (err) {
+               if (err != 0) {
                        dmu_buf_rele(db, FTAG);
                        return (err);
                }
@@ -268,27 +260,24 @@ zap_table_store(zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, uint64_t val,
 static int
 zap_table_load(zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, uint64_t *valp)
 {
-       uint64_t blk, off;
-       int err;
-       dmu_buf_t *db;
-       dnode_t *dn;
        int bs = FZAP_BLOCK_SHIFT(zap);
 
        ASSERT(RW_LOCK_HELD(&zap->zap_rwlock));
 
-       blk = idx >> (bs-3);
-       off = idx & ((1<<(bs-3))-1);
+       uint64_t blk = idx >> (bs-3);
+       uint64_t off = idx & ((1<<(bs-3))-1);
 
        /*
         * Note: this is equivalent to dmu_buf_hold(), but we use
         * _dnode_enter / _by_dnode because it's faster because we don't
         * have to hold the dnode.
         */
-       dn = dmu_buf_dnode_enter(zap->zap_dbuf);
-       err = dmu_buf_hold_by_dnode(dn,
+       dnode_t *dn = dmu_buf_dnode_enter(zap->zap_dbuf);
+       dmu_buf_t *db;
+       int err = dmu_buf_hold_by_dnode(dn,
            (tbl->zt_blk + blk) << bs, FTAG, &db, DMU_READ_NO_PREFETCH);
        dmu_buf_dnode_exit(zap->zap_dbuf);
-       if (err)
+       if (err != 0)
                return (err);
        *valp = ((uint64_t *)db->db_data)[off];
        dmu_buf_rele(db, FTAG);
@@ -319,11 +308,10 @@ zap_table_load(zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, uint64_t *valp)
 static void
 zap_ptrtbl_transfer(const uint64_t *src, uint64_t *dst, int n)
 {
-       int i;
-       for (i = 0; i < n; i++) {
+       for (int i = 0; i < n; i++) {
                uint64_t lb = src[i];
-               dst[2*i+0] = lb;
-               dst[2*i+1] = lb;
+               dst[2 * i + 0] = lb;
+               dst[2 * i + 1] = lb;
        }
 }
 
@@ -345,19 +333,16 @@ zap_grow_ptrtbl(zap_t *zap, dmu_tx_t *tx)
                 * stored in the header block).  Give it its own entire
                 * block, which will double the size of the ptrtbl.
                 */
-               uint64_t newblk;
-               dmu_buf_t *db_new;
-               int err;
-
                ASSERT3U(zap_f_phys(zap)->zap_ptrtbl.zt_shift, ==,
                    ZAP_EMBEDDED_PTRTBL_SHIFT(zap));
                ASSERT0(zap_f_phys(zap)->zap_ptrtbl.zt_blk);
 
-               newblk = zap_allocate_blocks(zap, 1);
-               err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
+               uint64_t newblk = zap_allocate_blocks(zap, 1);
+               dmu_buf_t *db_new;
+               int err = dmu_buf_hold(zap->zap_objset, zap->zap_object,
                    newblk << FZAP_BLOCK_SHIFT(zap), FTAG, &db_new,
                    DMU_READ_NO_PREFETCH);
-               if (err)
+               if (err != 0)
                        return (err);
                dmu_buf_will_dirty(db_new, tx);
                zap_ptrtbl_transfer(&ZAP_EMBEDDED_PTRTBL_ENT(zap, 0),
@@ -392,9 +377,8 @@ zap_increment_num_entries(zap_t *zap, int delta, dmu_tx_t *tx)
 static uint64_t
 zap_allocate_blocks(zap_t *zap, int nblocks)
 {
-       uint64_t newblk;
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
-       newblk = zap_f_phys(zap)->zap_freeblk;
+       uint64_t newblk = zap_f_phys(zap)->zap_freeblk;
        zap_f_phys(zap)->zap_freeblk += nblocks;
        return (newblk);
 }
@@ -411,7 +395,6 @@ zap_leaf_evict_sync(void *dbu)
 static zap_leaf_t *
 zap_create_leaf(zap_t *zap, dmu_tx_t *tx)
 {
-       void *winner;
        zap_leaf_t *l = kmem_zalloc(sizeof (zap_leaf_t), KM_SLEEP);
 
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
@@ -421,12 +404,11 @@ zap_create_leaf(zap_t *zap, dmu_tx_t *tx)
        l->l_blkid = zap_allocate_blocks(zap, 1);
        l->l_dbuf = NULL;
 
-       VERIFY(0 == dmu_buf_hold(zap->zap_objset, zap->zap_object,
+       VERIFY0(dmu_buf_hold(zap->zap_objset, zap->zap_object,
            l->l_blkid << FZAP_BLOCK_SHIFT(zap), NULL, &l->l_dbuf,
            DMU_READ_NO_PREFETCH));
        dmu_buf_init_user(&l->l_dbu, zap_leaf_evict_sync, NULL, &l->l_dbuf);
-       winner = dmu_buf_set_user(l->l_dbuf, &l->l_dbu);
-       ASSERT(winner == NULL);
+       VERIFY3P(NULL, ==, dmu_buf_set_user(l->l_dbuf, &l->l_dbu));
        dmu_buf_will_dirty(l->l_dbuf, tx);
 
        zap_leaf_init(l, zap->zap_normflags != 0);
@@ -460,11 +442,9 @@ zap_put_leaf(zap_leaf_t *l)
 static zap_leaf_t *
 zap_open_leaf(uint64_t blkid, dmu_buf_t *db)
 {
-       zap_leaf_t *l, *winner;
-
        ASSERT(blkid != 0);
 
-       l = kmem_zalloc(sizeof (zap_leaf_t), KM_SLEEP);
+       zap_leaf_t *l = kmem_zalloc(sizeof (zap_leaf_t), KM_SLEEP);
        rw_init(&l->l_rwlock, NULL, RW_DEFAULT, NULL);
        rw_enter(&l->l_rwlock, RW_WRITER);
        l->l_blkid = blkid;
@@ -472,7 +452,7 @@ zap_open_leaf(uint64_t blkid, dmu_buf_t *db)
        l->l_dbuf = db;
 
        dmu_buf_init_user(&l->l_dbu, zap_leaf_evict_sync, NULL, &l->l_dbuf);
-       winner = dmu_buf_set_user(db, &l->l_dbu);
+       zap_leaf_t *winner = dmu_buf_set_user(db, &l->l_dbu);
 
        rw_exit(&l->l_rwlock);
        if (winner != NULL) {
@@ -510,9 +490,6 @@ zap_get_leaf_byblk(zap_t *zap, uint64_t blkid, dmu_tx_t *tx, krw_t lt,
     zap_leaf_t **lp)
 {
        dmu_buf_t *db;
-       zap_leaf_t *l;
-       int bs = FZAP_BLOCK_SHIFT(zap);
-       int err;
 
        ASSERT(RW_LOCK_HELD(&zap->zap_rwlock));
 
@@ -526,11 +503,12 @@ zap_get_leaf_byblk(zap_t *zap, uint64_t blkid, dmu_tx_t *tx, krw_t lt,
        if (blkid == 0)
                return (SET_ERROR(ENOENT));
 
+       int bs = FZAP_BLOCK_SHIFT(zap);
        dnode_t *dn = dmu_buf_dnode_enter(zap->zap_dbuf);
-       err = dmu_buf_hold_by_dnode(dn,
+       int err = dmu_buf_hold_by_dnode(dn,
            blkid << bs, NULL, &db, DMU_READ_NO_PREFETCH);
        dmu_buf_dnode_exit(zap->zap_dbuf);
-       if (err)
+       if (err != 0)
                return (err);
 
        ASSERT3U(db->db_object, ==, zap->zap_object);
@@ -538,7 +516,7 @@ zap_get_leaf_byblk(zap_t *zap, uint64_t blkid, dmu_tx_t *tx, krw_t lt,
        ASSERT3U(db->db_size, ==, 1 << bs);
        ASSERT(blkid != 0);
 
-       l = dmu_buf_get_user(db);
+       zap_leaf_t *l = dmu_buf_get_user(db);
 
        if (l == NULL)
                l = zap_open_leaf(blkid, db);
@@ -593,8 +571,7 @@ zap_set_idx_to_blk(zap_t *zap, uint64_t idx, uint64_t blk, dmu_tx_t *tx)
 static int
 zap_deref_leaf(zap_t *zap, uint64_t h, dmu_tx_t *tx, krw_t lt, zap_leaf_t **lp)
 {
-       uint64_t idx, blk;
-       int err;
+       uint64_t blk;
 
        ASSERT(zap->zap_dbuf == NULL ||
            zap_f_phys(zap) == zap->zap_dbuf->db_data);
@@ -605,8 +582,9 @@ zap_deref_leaf(zap_t *zap, uint64_t h, dmu_tx_t *tx, krw_t lt, zap_leaf_t **lp)
            zap_f_phys(zap)->zap_magic != ZAP_MAGIC) {
                return (SET_ERROR(EIO));
        }
-       idx = ZAP_HASH_IDX(h, zap_f_phys(zap)->zap_ptrtbl.zt_shift);
-       err = zap_idx_to_blk(zap, idx, &blk);
+
+       uint64_t idx = ZAP_HASH_IDX(h, zap_f_phys(zap)->zap_ptrtbl.zt_shift);
+       int err = zap_idx_to_blk(zap, idx, &blk);
        if (err != 0)
                return (err);
        err = zap_get_leaf_byblk(zap, blk, tx, lt, lp);
@@ -623,9 +601,7 @@ zap_expand_leaf(zap_name_t *zn, zap_leaf_t *l,
 {
        zap_t *zap = zn->zn_zap;
        uint64_t hash = zn->zn_hash;
-       zap_leaf_t *nl;
-       int prefix_diff, i, err;
-       uint64_t sibling;
+       int err;
        int old_prefix_len = zap_leaf_phys(l)->l_hdr.lh_prefix_len;
 
        ASSERT3U(old_prefix_len, <=, zap_f_phys(zap)->zap_ptrtbl.zt_shift);
@@ -645,19 +621,19 @@ zap_expand_leaf(zap_name_t *zn, zap_leaf_t *l,
                err = zap_lockdir(os, object, tx, RW_WRITER,
                    FALSE, FALSE, tag, &zn->zn_zap);
                zap = zn->zn_zap;
-               if (err)
+               if (err != 0)
                        return (err);
                ASSERT(!zap->zap_ismicro);
 
                while (old_prefix_len ==
                    zap_f_phys(zap)->zap_ptrtbl.zt_shift) {
                        err = zap_grow_ptrtbl(zap, tx);
-                       if (err)
+                       if (err != 0)
                                return (err);
                }
 
                err = zap_deref_leaf(zap, hash, tx, RW_WRITER, &l);
-               if (err)
+               if (err != 0)
                        return (err);
 
                if (zap_leaf_phys(l)->l_hdr.lh_prefix_len != old_prefix_len) {
@@ -671,25 +647,26 @@ zap_expand_leaf(zap_name_t *zn, zap_leaf_t *l,
        ASSERT3U(ZAP_HASH_IDX(hash, old_prefix_len), ==,
            zap_leaf_phys(l)->l_hdr.lh_prefix);
 
-       prefix_diff = zap_f_phys(zap)->zap_ptrtbl.zt_shift -
+       int prefix_diff = zap_f_phys(zap)->zap_ptrtbl.zt_shift -
            (old_prefix_len + 1);
-       sibling = (ZAP_HASH_IDX(hash, old_prefix_len + 1) | 1) << prefix_diff;
+       uint64_t sibling =
+           (ZAP_HASH_IDX(hash, old_prefix_len + 1) | 1) << prefix_diff;
 
        /* check for i/o errors before doing zap_leaf_split */
-       for (i = 0; i < (1ULL<<prefix_diff); i++) {
+       for (int i = 0; i < (1ULL << prefix_diff); i++) {
                uint64_t blk;
-               err = zap_idx_to_blk(zap, sibling+i, &blk);
-               if (err)
+               err = zap_idx_to_blk(zap, sibling + i, &blk);
+               if (err != 0)
                        return (err);
                ASSERT3U(blk, ==, l->l_blkid);
        }
 
-       nl = zap_create_leaf(zap, tx);
+       zap_leaf_t *nl = zap_create_leaf(zap, tx);
        zap_leaf_split(l, nl, zap->zap_normflags != 0);
 
        /* set sibling pointers */
-       for (i = 0; i < (1ULL << prefix_diff); i++) {
-               err = zap_set_idx_to_blk(zap, sibling+i, nl->l_blkid, tx);
+       for (int i = 0; i < (1ULL << prefix_diff); i++) {
+               err = zap_set_idx_to_blk(zap, sibling + i, nl->l_blkid, tx);
                ASSERT0(err); /* we checked for i/o errors above */
        }
 
@@ -719,8 +696,6 @@ zap_put_leaf_maybe_grow_ptrtbl(zap_name_t *zn, zap_leaf_t *l,
        zap_put_leaf(l);
 
        if (leaffull || zap_f_phys(zap)->zap_ptrtbl.zt_nextblk) {
-               int err;
-
                /*
                 * We are in the middle of growing the pointer table, or
                 * this leaf will soon make us grow it.
@@ -730,10 +705,10 @@ zap_put_leaf_maybe_grow_ptrtbl(zap_name_t *zn, zap_leaf_t *l,
                        uint64_t zapobj = zap->zap_object;
 
                        zap_unlockdir(zap, tag);
-                       err = zap_lockdir(os, zapobj, tx,
+                       int err = zap_lockdir(os, zapobj, tx,
                            RW_WRITER, FALSE, FALSE, tag, &zn->zn_zap);
                        zap = zn->zn_zap;
-                       if (err)
+                       if (err != 0)
                                return;
                }
 
@@ -774,9 +749,8 @@ fzap_checksize(uint64_t integer_size, uint64_t num_integers)
 static int
 fzap_check(zap_name_t *zn, uint64_t integer_size, uint64_t num_integers)
 {
-       int err;
-
-       if ((err = fzap_checkname(zn)) != 0)
+       int err = fzap_checkname(zn);
+       if (err != 0)
                return (err);
        return (fzap_checksize(integer_size, num_integers));
 }
@@ -790,10 +764,10 @@ fzap_lookup(zap_name_t *zn,
     char *realname, int rn_len, boolean_t *ncp)
 {
        zap_leaf_t *l;
-       int err;
        zap_entry_handle_t zeh;
 
-       if ((err = fzap_checkname(zn)) != 0)
+       int err = fzap_checkname(zn);
+       if (err != 0)
                return (err);
 
        err = zap_deref_leaf(zn->zn_zap, zn->zn_hash, NULL, RW_READER, &l);
@@ -889,7 +863,8 @@ fzap_update(zap_name_t *zn,
     void *tag, dmu_tx_t *tx)
 {
        zap_leaf_t *l;
-       int err, create;
+       int err;
+       boolean_t create;
        zap_entry_handle_t zeh;
        zap_t *zap = zn->zn_zap;
 
@@ -942,9 +917,9 @@ fzap_length(zap_name_t *zn,
        if (err != 0)
                goto out;
 
-       if (integer_size)
+       if (integer_size != 0)
                *integer_size = zeh.zeh_integer_size;
-       if (num_integers)
+       if (num_integers != 0)
                *num_integers = zeh.zeh_num_integers;
 out:
        zap_put_leaf(l);
@@ -973,15 +948,14 @@ fzap_remove(zap_name_t *zn, dmu_tx_t *tx)
 void
 fzap_prefetch(zap_name_t *zn)
 {
-       uint64_t idx, blk;
+       uint64_t blk;
        zap_t *zap = zn->zn_zap;
-       int bs;
 
-       idx = ZAP_HASH_IDX(zn->zn_hash,
+       uint64_t idx = ZAP_HASH_IDX(zn->zn_hash,
            zap_f_phys(zap)->zap_ptrtbl.zt_shift);
        if (zap_idx_to_blk(zap, idx, &blk) != 0)
                return;
-       bs = FZAP_BLOCK_SHIFT(zap);
+       int bs = FZAP_BLOCK_SHIFT(zap);
        dmu_prefetch(zap->zap_objset, zap->zap_object, 0, blk << bs, 1 << bs,
            ZIO_PRIORITY_SYNC_READ);
 }
@@ -1003,8 +977,8 @@ zap_create_link_dnsize(objset_t *os, dmu_object_type_t ot, uint64_t parent_obj,
 {
        uint64_t new_obj;
 
-       VERIFY((new_obj = zap_create_dnsize(os, ot, DMU_OT_NONE, 0,
-           dnodesize, tx)) > 0);
+       new_obj = zap_create_dnsize(os, ot, DMU_OT_NONE, 0, dnodesize, tx);
+       VERIFY(new_obj != 0);
        VERIFY0(zap_add(os, parent_obj, name, sizeof (uint64_t), 1, &new_obj,
            tx));
 
@@ -1016,13 +990,12 @@ zap_value_search(objset_t *os, uint64_t zapobj, uint64_t value, uint64_t mask,
     char *name)
 {
        zap_cursor_t zc;
-       zap_attribute_t *za;
        int err;
 
        if (mask == 0)
                mask = -1ULL;
 
-       za = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
+       zap_attribute_t *za = kmem_alloc(sizeof (*za), KM_SLEEP);
        for (zap_cursor_init(&zc, os, zapobj);
            (err = zap_cursor_retrieve(&zc, za)) == 0;
            zap_cursor_advance(&zc)) {
@@ -1032,7 +1005,7 @@ zap_value_search(objset_t *os, uint64_t zapobj, uint64_t value, uint64_t mask,
                }
        }
        zap_cursor_fini(&zc);
-       kmem_free(za, sizeof (zap_attribute_t));
+       kmem_free(za, sizeof (*za));
        return (err);
 }
 
@@ -1040,23 +1013,23 @@ int
 zap_join(objset_t *os, uint64_t fromobj, uint64_t intoobj, dmu_tx_t *tx)
 {
        zap_cursor_t zc;
-       zap_attribute_t za;
-       int err;
+       int err = 0;
 
-       err = 0;
+       zap_attribute_t *za = kmem_alloc(sizeof (*za), KM_SLEEP);
        for (zap_cursor_init(&zc, os, fromobj);
-           zap_cursor_retrieve(&zc, &za) == 0;
+           zap_cursor_retrieve(&zc, za) == 0;
            (void) zap_cursor_advance(&zc)) {
-               if (za.za_integer_length != 8 || za.za_num_integers != 1) {
+               if (za->za_integer_length != 8 || za->za_num_integers != 1) {
                        err = SET_ERROR(EINVAL);
                        break;
                }
-               err = zap_add(os, intoobj, za.za_name,
-                   8, 1, &za.za_first_integer, tx);
-               if (err)
+               err = zap_add(os, intoobj, za->za_name,
+                   8, 1, &za->za_first_integer, tx);
+               if (err != 0)
                        break;
        }
        zap_cursor_fini(&zc);
+       kmem_free(za, sizeof (*za));
        return (err);
 }
 
@@ -1065,23 +1038,23 @@ zap_join_key(objset_t *os, uint64_t fromobj, uint64_t intoobj,
     uint64_t value, dmu_tx_t *tx)
 {
        zap_cursor_t zc;
-       zap_attribute_t za;
-       int err;
+       int err = 0;
 
-       err = 0;
+       zap_attribute_t *za = kmem_alloc(sizeof (*za), KM_SLEEP);
        for (zap_cursor_init(&zc, os, fromobj);
-           zap_cursor_retrieve(&zc, &za) == 0;
+           zap_cursor_retrieve(&zc, za) == 0;
            (void) zap_cursor_advance(&zc)) {
-               if (za.za_integer_length != 8 || za.za_num_integers != 1) {
+               if (za->za_integer_length != 8 || za->za_num_integers != 1) {
                        err = SET_ERROR(EINVAL);
                        break;
                }
-               err = zap_add(os, intoobj, za.za_name,
+               err = zap_add(os, intoobj, za->za_name,
                    8, 1, &value, tx);
                if (err != 0)
                        break;
        }
        zap_cursor_fini(&zc);
+       kmem_free(za, sizeof (*za));
        return (err);
 }
 
@@ -1090,29 +1063,29 @@ zap_join_increment(objset_t *os, uint64_t fromobj, uint64_t intoobj,
     dmu_tx_t *tx)
 {
        zap_cursor_t zc;
-       zap_attribute_t za;
-       int err;
+       int err = 0;
 
-       err = 0;
+       zap_attribute_t *za = kmem_alloc(sizeof (*za), KM_SLEEP);
        for (zap_cursor_init(&zc, os, fromobj);
-           zap_cursor_retrieve(&zc, &za) == 0;
+           zap_cursor_retrieve(&zc, za) == 0;
            (void) zap_cursor_advance(&zc)) {
                uint64_t delta = 0;
 
-               if (za.za_integer_length != 8 || za.za_num_integers != 1) {
+               if (za->za_integer_length != 8 || za->za_num_integers != 1) {
                        err = SET_ERROR(EINVAL);
                        break;
                }
 
-               err = zap_lookup(os, intoobj, za.za_name, 8, 1, &delta);
+               err = zap_lookup(os, intoobj, za->za_name, 8, 1, &delta);
                if (err != 0 && err != ENOENT)
                        break;
-               delta += za.za_first_integer;
-               err = zap_update(os, intoobj, za.za_name, 8, 1, &delta, tx);
-               if (err)
+               delta += za->za_first_integer;
+               err = zap_update(os, intoobj, za->za_name, 8, 1, &delta, tx);
+               if (err != 0)
                        break;
        }
        zap_cursor_fini(&zc);
+       kmem_free(za, sizeof (*za));
        return (err);
 }
 
@@ -1177,12 +1150,11 @@ zap_increment(objset_t *os, uint64_t obj, const char *name, int64_t delta,
     dmu_tx_t *tx)
 {
        uint64_t value = 0;
-       int err;
 
        if (delta == 0)
                return (0);
 
-       err = zap_lookup(os, obj, name, 8, 1, &value);
+       int err = zap_lookup(os, obj, name, 8, 1, &value);
        if (err != 0 && err != ENOENT)
                return (err);
        value += delta;
@@ -1286,7 +1258,6 @@ again:
 static void
 zap_stats_ptrtbl(zap_t *zap, uint64_t *tbl, int len, zap_stats_t *zs)
 {
-       int i, err;
        uint64_t lastblk = 0;
 
        /*
@@ -1294,14 +1265,14 @@ zap_stats_ptrtbl(zap_t *zap, uint64_t *tbl, int len, zap_stats_t *zs)
         * can hold, then it'll be accounted for more than once, since
         * we won't have lastblk.
         */
-       for (i = 0; i < len; i++) {
+       for (int i = 0; i < len; i++) {
                zap_leaf_t *l;
 
                if (tbl[i] == lastblk)
                        continue;
                lastblk = tbl[i];
 
-               err = zap_get_leaf_byblk(zap, tbl[i], NULL, RW_READER, &l);
+               int err = zap_get_leaf_byblk(zap, tbl[i], NULL, RW_READER, &l);
                if (err == 0) {
                        zap_leaf_stats(zap, l, zs);
                        zap_put_leaf(l);
@@ -1341,14 +1312,12 @@ fzap_get_stats(zap_t *zap, zap_stats_t *zs)
                zap_stats_ptrtbl(zap, &ZAP_EMBEDDED_PTRTBL_ENT(zap, 0),
                    1 << ZAP_EMBEDDED_PTRTBL_SHIFT(zap), zs);
        } else {
-               int b;
-
                dmu_prefetch(zap->zap_objset, zap->zap_object, 0,
                    zap_f_phys(zap)->zap_ptrtbl.zt_blk << bs,
                    zap_f_phys(zap)->zap_ptrtbl.zt_numblks << bs,
                    ZIO_PRIORITY_SYNC_READ);
 
-               for (b = 0; b < zap_f_phys(zap)->zap_ptrtbl.zt_numblks;
+               for (int b = 0; b < zap_f_phys(zap)->zap_ptrtbl.zt_numblks;
                    b++) {
                        dmu_buf_t *db;
                        int err;
index 661fd747b1501df5adbccb10f47ee1f0ad2c37fc..d168ad29ae3387d472e90e8400ccbbb54dddbe52 100644 (file)
@@ -21,7 +21,7 @@
 
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+ * Copyright (c) 2013, 2016 by Delphix. All rights reserved.
  * Copyright 2017 Nexenta Systems, Inc.
  */
 
@@ -109,7 +109,6 @@ ldv(int len, const void *addr)
 void
 zap_leaf_byteswap(zap_leaf_phys_t *buf, int size)
 {
-       int i;
        zap_leaf_t l;
        dmu_buf_t l_dbuf;
 
@@ -125,10 +124,10 @@ zap_leaf_byteswap(zap_leaf_phys_t *buf, int size)
        buf->l_hdr.lh_prefix_len =      BSWAP_16(buf->l_hdr.lh_prefix_len);
        buf->l_hdr.lh_freelist =        BSWAP_16(buf->l_hdr.lh_freelist);
 
-       for (i = 0; i < ZAP_LEAF_HASH_NUMENTRIES(&l); i++)
+       for (int i = 0; i < ZAP_LEAF_HASH_NUMENTRIES(&l); i++)
                buf->l_hash[i] = BSWAP_16(buf->l_hash[i]);
 
-       for (i = 0; i < ZAP_LEAF_NUMCHUNKS(&l); i++) {
+       for (int i = 0; i < ZAP_LEAF_NUMCHUNKS(&l); i++) {
                zap_leaf_chunk_t *lc = &ZAP_LEAF_CHUNK(&l, i);
                struct zap_leaf_entry *le;
 
@@ -165,14 +164,12 @@ zap_leaf_byteswap(zap_leaf_phys_t *buf, int size)
 void
 zap_leaf_init(zap_leaf_t *l, boolean_t sort)
 {
-       int i;
-
        l->l_bs = highbit64(l->l_dbuf->db_size) - 1;
        zap_memset(&zap_leaf_phys(l)->l_hdr, 0,
            sizeof (struct zap_leaf_header));
        zap_memset(zap_leaf_phys(l)->l_hash, CHAIN_END,
            2*ZAP_LEAF_HASH_NUMENTRIES(l));
-       for (i = 0; i < ZAP_LEAF_NUMCHUNKS(l); i++) {
+       for (int i = 0; i < ZAP_LEAF_NUMCHUNKS(l); i++) {
                ZAP_LEAF_CHUNK(l, i).l_free.lf_type = ZAP_CHUNK_FREE;
                ZAP_LEAF_CHUNK(l, i).l_free.lf_next = i+1;
        }
@@ -191,11 +188,9 @@ zap_leaf_init(zap_leaf_t *l, boolean_t sort)
 static uint16_t
 zap_leaf_chunk_alloc(zap_leaf_t *l)
 {
-       int chunk;
-
        ASSERT(zap_leaf_phys(l)->l_hdr.lh_nfree > 0);
 
-       chunk = zap_leaf_phys(l)->l_hdr.lh_freelist;
+       int chunk = zap_leaf_phys(l)->l_hdr.lh_freelist;
        ASSERT3U(chunk, <, ZAP_LEAF_NUMCHUNKS(l));
        ASSERT3U(ZAP_LEAF_CHUNK(l, chunk).l_free.lf_type, ==, ZAP_CHUNK_FREE);
 
@@ -235,7 +230,7 @@ zap_leaf_array_create(zap_leaf_t *l, const char *buf,
        uint16_t *chunkp = &chunk_head;
        int byten = 0;
        uint64_t value = 0;
-       int shift = (integer_size-1)*8;
+       int shift = (integer_size - 1) * 8;
        int len = num_integers;
 
        ASSERT3U(num_integers * integer_size, <, MAX_ARRAY_BYTES);
@@ -243,10 +238,9 @@ zap_leaf_array_create(zap_leaf_t *l, const char *buf,
        while (len > 0) {
                uint16_t chunk = zap_leaf_chunk_alloc(l);
                struct zap_leaf_array *la = &ZAP_LEAF_CHUNK(l, chunk).l_array;
-               int i;
 
                la->la_type = ZAP_CHUNK_ARRAY;
-               for (i = 0; i < ZAP_LEAF_ARRAY_BYTES; i++) {
+               for (int i = 0; i < ZAP_LEAF_ARRAY_BYTES; i++) {
                        if (byten == 0)
                                value = ldv(integer_size, buf);
                        la->la_array[i] = value >> shift;
@@ -324,10 +318,9 @@ zap_leaf_array_read(zap_leaf_t *l, uint16_t chunk,
 
        while (len > 0) {
                struct zap_leaf_array *la = &ZAP_LEAF_CHUNK(l, chunk).l_array;
-               int i;
 
                ASSERT3U(chunk, <, ZAP_LEAF_NUMCHUNKS(l));
-               for (i = 0; i < ZAP_LEAF_ARRAY_BYTES && len > 0; i++) {
+               for (int i = 0; i < ZAP_LEAF_ARRAY_BYTES && len > 0; i++) {
                        value = (value << 8) | la->la_array[i];
                        byten++;
                        if (byten == array_int_len) {
@@ -350,16 +343,13 @@ zap_leaf_array_match(zap_leaf_t *l, zap_name_t *zn,
        int bseen = 0;
 
        if (zap_getflags(zn->zn_zap) & ZAP_FLAG_UINT64_KEY) {
-               uint64_t *thiskey;
-               boolean_t match;
-
+               uint64_t *thiskey =
+                   kmem_alloc(array_numints * sizeof (*thiskey), KM_SLEEP);
                ASSERT(zn->zn_key_intlen == sizeof (*thiskey));
-               thiskey = kmem_alloc(array_numints * sizeof (*thiskey),
-                   KM_SLEEP);
 
                zap_leaf_array_read(l, chunk, sizeof (*thiskey), array_numints,
                    sizeof (*thiskey), array_numints, thiskey);
-               match = bcmp(thiskey, zn->zn_key_orig,
+               boolean_t match = bcmp(thiskey, zn->zn_key_orig,
                    array_numints * sizeof (*thiskey)) == 0;
                kmem_free(thiskey, array_numints * sizeof (*thiskey));
                return (match);
@@ -368,11 +358,10 @@ zap_leaf_array_match(zap_leaf_t *l, zap_name_t *zn,
        ASSERT(zn->zn_key_intlen == 1);
        if (zn->zn_matchtype & MT_NORMALIZE) {
                char *thisname = kmem_alloc(array_numints, KM_SLEEP);
-               boolean_t match;
 
                zap_leaf_array_read(l, chunk, sizeof (char), array_numints,
                    sizeof (char), array_numints, thisname);
-               match = zap_match(zn, thisname);
+               boolean_t match = zap_match(zn, thisname);
                kmem_free(thisname, array_numints);
                return (match);
        }
@@ -403,12 +392,11 @@ zap_leaf_array_match(zap_leaf_t *l, zap_name_t *zn,
 int
 zap_leaf_lookup(zap_leaf_t *l, zap_name_t *zn, zap_entry_handle_t *zeh)
 {
-       uint16_t *chunkp;
        struct zap_leaf_entry *le;
 
        ASSERT3U(zap_leaf_phys(l)->l_hdr.lh_magic, ==, ZAP_LEAF_MAGIC);
 
-       for (chunkp = LEAF_HASH_ENTPTR(l, zn->zn_hash);
+       for (uint16_t *chunkp = LEAF_HASH_ENTPTR(l, zn->zn_hash);
            *chunkp != CHAIN_END; chunkp = &le->le_next) {
                uint16_t chunk = *chunkp;
                le = ZAP_LEAF_ENTRY(l, chunk);
@@ -449,17 +437,15 @@ int
 zap_leaf_lookup_closest(zap_leaf_t *l,
     uint64_t h, uint32_t cd, zap_entry_handle_t *zeh)
 {
-       uint16_t chunk;
        uint64_t besth = -1ULL;
        uint32_t bestcd = -1U;
        uint16_t bestlh = ZAP_LEAF_HASH_NUMENTRIES(l)-1;
-       uint16_t lh;
        struct zap_leaf_entry *le;
 
        ASSERT3U(zap_leaf_phys(l)->l_hdr.lh_magic, ==, ZAP_LEAF_MAGIC);
 
-       for (lh = LEAF_HASH(l, h); lh <= bestlh; lh++) {
-               for (chunk = zap_leaf_phys(l)->l_hash[lh];
+       for (uint16_t lh = LEAF_HASH(l, h); lh <= bestlh; lh++) {
+               for (uint16_t chunk = zap_leaf_phys(l)->l_hash[lh];
                    chunk != CHAIN_END; chunk = le->le_next) {
                        le = ZAP_LEAF_ENTRY(l, chunk);
 
@@ -532,11 +518,10 @@ int
 zap_entry_update(zap_entry_handle_t *zeh,
     uint8_t integer_size, uint64_t num_integers, const void *buf)
 {
-       int delta_chunks;
        zap_leaf_t *l = zeh->zeh_leaf;
        struct zap_leaf_entry *le = ZAP_LEAF_ENTRY(l, *zeh->zeh_chunkp);
 
-       delta_chunks = ZAP_LEAF_ARRAY_NCHUNKS(num_integers * integer_size) -
+       int delta_chunks = ZAP_LEAF_ARRAY_NCHUNKS(num_integers * integer_size) -
            ZAP_LEAF_ARRAY_NCHUNKS(le->le_value_numints * le->le_value_intlen);
 
        if ((int)zap_leaf_phys(l)->l_hdr.lh_nfree < delta_chunks)
@@ -553,14 +538,12 @@ zap_entry_update(zap_entry_handle_t *zeh,
 void
 zap_entry_remove(zap_entry_handle_t *zeh)
 {
-       uint16_t entry_chunk;
-       struct zap_leaf_entry *le;
        zap_leaf_t *l = zeh->zeh_leaf;
 
        ASSERT3P(zeh->zeh_chunkp, !=, &zeh->zeh_fakechunk);
 
-       entry_chunk = *zeh->zeh_chunkp;
-       le = ZAP_LEAF_ENTRY(l, entry_chunk);
+       uint16_t entry_chunk = *zeh->zeh_chunkp;
+       struct zap_leaf_entry *le = ZAP_LEAF_ENTRY(l, entry_chunk);
        ASSERT3U(le->le_type, ==, ZAP_CHUNK_ENTRY);
 
        zap_leaf_array_free(l, &le->le_name_chunk);
@@ -578,15 +561,12 @@ zap_entry_create(zap_leaf_t *l, zap_name_t *zn, uint32_t cd,
     zap_entry_handle_t *zeh)
 {
        uint16_t chunk;
-       uint16_t *chunkp;
        struct zap_leaf_entry *le;
-       uint64_t valuelen;
-       int numchunks;
        uint64_t h = zn->zn_hash;
 
-       valuelen = integer_size * num_integers;
+       uint64_t valuelen = integer_size * num_integers;
 
-       numchunks = 1 + ZAP_LEAF_ARRAY_NCHUNKS(zn->zn_key_orig_numints *
+       int numchunks = 1 + ZAP_LEAF_ARRAY_NCHUNKS(zn->zn_key_orig_numints *
            zn->zn_key_intlen) + ZAP_LEAF_ARRAY_NCHUNKS(valuelen);
        if (numchunks > ZAP_LEAF_NUMCHUNKS(l))
                return (SET_ERROR(E2BIG));
@@ -648,7 +628,7 @@ zap_entry_create(zap_leaf_t *l, zap_name_t *zn, uint32_t cd,
 
        /* link it into the hash chain */
        /* XXX if we did the search above, we could just use that */
-       chunkp = zap_leaf_rehash_entry(l, chunk);
+       uint16_t *chunkp = zap_leaf_rehash_entry(l, chunk);
 
        zap_leaf_phys(l)->l_hdr.lh_nentries++;
 
@@ -676,14 +656,13 @@ boolean_t
 zap_entry_normalization_conflict(zap_entry_handle_t *zeh, zap_name_t *zn,
     const char *name, zap_t *zap)
 {
-       uint64_t chunk;
        struct zap_leaf_entry *le;
        boolean_t allocdzn = B_FALSE;
 
        if (zap->zap_normflags == 0)
                return (B_FALSE);
 
-       for (chunk = *LEAF_HASH_ENTPTR(zeh->zeh_leaf, zeh->zeh_hash);
+       for (uint16_t chunk = *LEAF_HASH_ENTPTR(zeh->zeh_leaf, zeh->zeh_hash);
            chunk != CHAIN_END; chunk = le->le_next) {
                le = ZAP_LEAF_ENTRY(zeh->zeh_leaf, chunk);
                if (le->le_hash != zeh->zeh_hash)
@@ -766,14 +745,11 @@ zap_leaf_transfer_array(zap_leaf_t *l, uint16_t chunk, zap_leaf_t *nl)
 static void
 zap_leaf_transfer_entry(zap_leaf_t *l, int entry, zap_leaf_t *nl)
 {
-       struct zap_leaf_entry *le, *nle;
-       uint16_t chunk;
-
-       le = ZAP_LEAF_ENTRY(l, entry);
+       struct zap_leaf_entry *le = ZAP_LEAF_ENTRY(l, entry);
        ASSERT3U(le->le_type, ==, ZAP_CHUNK_ENTRY);
 
-       chunk = zap_leaf_chunk_alloc(nl);
-       nle = ZAP_LEAF_ENTRY(nl, chunk);
+       uint16_t chunk = zap_leaf_chunk_alloc(nl);
+       struct zap_leaf_entry *nle = ZAP_LEAF_ENTRY(nl, chunk);
        *nle = *le; /* structure assignment */
 
        (void) zap_leaf_rehash_entry(nl, chunk);
@@ -794,7 +770,6 @@ zap_leaf_transfer_entry(zap_leaf_t *l, int entry, zap_leaf_t *nl)
 void
 zap_leaf_split(zap_leaf_t *l, zap_leaf_t *nl, boolean_t sort)
 {
-       int i;
        int bit = 64 - 1 - zap_leaf_phys(l)->l_hdr.lh_prefix_len;
 
        /* set new prefix and prefix_len */
@@ -821,7 +796,7 @@ zap_leaf_split(zap_leaf_t *l, zap_leaf_t *nl, boolean_t sort)
         * but this accesses memory more sequentially, and when we're
         * called, the block is usually pretty full.
         */
-       for (i = 0; i < ZAP_LEAF_NUMCHUNKS(l); i++) {
+       for (int i = 0; i < ZAP_LEAF_NUMCHUNKS(l); i++) {
                struct zap_leaf_entry *le = ZAP_LEAF_ENTRY(l, i);
                if (le->le_type != ZAP_CHUNK_ENTRY)
                        continue;
@@ -836,9 +811,7 @@ zap_leaf_split(zap_leaf_t *l, zap_leaf_t *nl, boolean_t sort)
 void
 zap_leaf_stats(zap_t *zap, zap_leaf_t *l, zap_stats_t *zs)
 {
-       int i, n;
-
-       n = zap_f_phys(zap)->zap_ptrtbl.zt_shift -
+       int n = zap_f_phys(zap)->zap_ptrtbl.zt_shift -
            zap_leaf_phys(l)->l_hdr.lh_prefix_len;
        n = MIN(n, ZAP_HISTOGRAM_SIZE-1);
        zs->zs_leafs_with_2n_pointers[n]++;
@@ -854,7 +827,7 @@ zap_leaf_stats(zap_t *zap, zap_leaf_t *l, zap_stats_t *zs)
        n = MIN(n, ZAP_HISTOGRAM_SIZE-1);
        zs->zs_blocks_n_tenths_full[n]++;
 
-       for (i = 0; i < ZAP_LEAF_HASH_NUMENTRIES(l); i++) {
+       for (int i = 0; i < ZAP_LEAF_HASH_NUMENTRIES(l); i++) {
                int nentries = 0;
                int chunk = zap_leaf_phys(l)->l_hash[i];
 
index 6ab2551b62c125273e555532dfde9dcaf1793dc2..a628cb881b2ee95b685c1d680bfdbd1cd31e8283 100644 (file)
@@ -88,22 +88,20 @@ zap_hash(zap_name_t *zn)
                ASSERT(zfs_crc64_table[128] == ZFS_CRC64_POLY);
 
                if (zap_getflags(zap) & ZAP_FLAG_UINT64_KEY) {
-                       int i;
                        const uint64_t *wp = zn->zn_key_norm;
 
                        ASSERT(zn->zn_key_intlen == 8);
-                       for (i = 0; i < zn->zn_key_norm_numints; wp++, i++) {
-                               int j;
+                       for (int i = 0; i < zn->zn_key_norm_numints;
+                           wp++, i++) {
                                uint64_t word = *wp;
 
-                               for (j = 0; j < zn->zn_key_intlen; j++) {
+                               for (int j = 0; j < zn->zn_key_intlen; j++) {
                                        h = (h >> 8) ^
                                            zfs_crc64_table[(h ^ word) & 0xFF];
                                        word >>= NBBY;
                                }
                        }
                } else {
-                       int i, len;
                        const uint8_t *cp = zn->zn_key_norm;
 
                        /*
@@ -113,10 +111,10 @@ zap_hash(zap_name_t *zn)
                         * zn_key_*_numints includes the terminating
                         * null for non-binary keys.)
                         */
-                       len = zn->zn_key_norm_numints - 1;
+                       int len = zn->zn_key_norm_numints - 1;
 
                        ASSERT(zn->zn_key_intlen == 1);
-                       for (i = 0; i < len; cp++, i++) {
+                       for (int i = 0; i < len; cp++, i++) {
                                h = (h >> 8) ^
                                    zfs_crc64_table[(h ^ *cp) & 0xFF];
                        }
@@ -136,15 +134,12 @@ zap_hash(zap_name_t *zn)
 static int
 zap_normalize(zap_t *zap, const char *name, char *namenorm, int normflags)
 {
-       size_t inlen, outlen;
-       int err;
-
        ASSERT(!(zap_getflags(zap) & ZAP_FLAG_UINT64_KEY));
 
-       inlen = strlen(name) + 1;
-       outlen = ZAP_MAXNAMELEN;
+       size_t inlen = strlen(name) + 1;
+       size_t outlen = ZAP_MAXNAMELEN;
 
-       err = 0;
+       int err = 0;
        (void) u8_textprep_str((char *)name, &inlen, namenorm, &outlen,
            normflags | U8_TEXTPREP_IGNORE_NULL | U8_TEXTPREP_IGNORE_INVALID,
            U8_UNICODE_LATEST, &err);
@@ -254,12 +249,11 @@ zap_name_alloc_uint64(zap_t *zap, const uint64_t *key, int numints)
 static void
 mzap_byteswap(mzap_phys_t *buf, size_t size)
 {
-       int i, max;
        buf->mz_block_type = BSWAP_64(buf->mz_block_type);
        buf->mz_salt = BSWAP_64(buf->mz_salt);
        buf->mz_normflags = BSWAP_64(buf->mz_normflags);
-       max = (size / MZAP_ENT_LEN) - 1;
-       for (i = 0; i < max; i++) {
+       int max = (size / MZAP_ENT_LEN) - 1;
+       for (int i = 0; i < max; i++) {
                buf->mz_chunk[i].mze_value =
                    BSWAP_64(buf->mz_chunk[i].mze_value);
                buf->mz_chunk[i].mze_cd =
@@ -270,9 +264,7 @@ mzap_byteswap(mzap_phys_t *buf, size_t size)
 void
 zap_byteswap(void *buf, size_t size)
 {
-       uint64_t block_type;
-
-       block_type = *(uint64_t *)buf;
+       uint64_t block_type = *(uint64_t *)buf;
 
        if (block_type == ZBT_MICRO || block_type == BSWAP_64(ZBT_MICRO)) {
                /* ASSERT(magic == ZAP_LEAF_MAGIC); */
@@ -298,12 +290,10 @@ mze_compare(const void *arg1, const void *arg2)
 static void
 mze_insert(zap_t *zap, int chunkid, uint64_t hash)
 {
-       mzap_ent_t *mze;
-
        ASSERT(zap->zap_ismicro);
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
 
-       mze = kmem_alloc(sizeof (mzap_ent_t), KM_SLEEP);
+       mzap_ent_t *mze = kmem_alloc(sizeof (mzap_ent_t), KM_SLEEP);
        mze->mze_chunkid = chunkid;
        mze->mze_hash = hash;
        mze->mze_cd = MZE_PHYS(zap, mze)->mze_cd;
@@ -341,10 +331,8 @@ static uint32_t
 mze_find_unused_cd(zap_t *zap, uint64_t hash)
 {
        mzap_ent_t mze_tofind;
-       mzap_ent_t *mze;
        avl_index_t idx;
        avl_tree_t *avl = &zap->zap_m.zap_avl;
-       uint32_t cd;
 
        ASSERT(zap->zap_ismicro);
        ASSERT(RW_LOCK_HELD(&zap->zap_rwlock));
@@ -352,8 +340,8 @@ mze_find_unused_cd(zap_t *zap, uint64_t hash)
        mze_tofind.mze_hash = hash;
        mze_tofind.mze_cd = 0;
 
-       cd = 0;
-       for (mze = avl_find(avl, &mze_tofind, &idx);
+       uint32_t cd = 0;
+       for (mzap_ent_t *mze = avl_find(avl, &mze_tofind, &idx);
            mze && mze->mze_hash == hash; mze = AVL_NEXT(avl, mze)) {
                if (mze->mze_cd != cd)
                        break;
@@ -423,15 +411,13 @@ static zap_t *
 mzap_open(objset_t *os, uint64_t obj, dmu_buf_t *db)
 {
        zap_t *winner;
-       zap_t *zap;
-       int i;
        uint64_t *zap_hdr = (uint64_t *)db->db_data;
        uint64_t zap_block_type = zap_hdr[0];
        uint64_t zap_magic = zap_hdr[1];
 
        ASSERT3U(MZAP_ENT_LEN, ==, sizeof (mzap_ent_phys_t));
 
-       zap = kmem_zalloc(sizeof (zap_t), KM_SLEEP);
+       zap_t *zap = kmem_zalloc(sizeof (zap_t), KM_SLEEP);
        rw_init(&zap->zap_rwlock, NULL, RW_DEFAULT, NULL);
        rw_enter(&zap->zap_rwlock, RW_WRITER);
        zap->zap_objset = os;
@@ -468,7 +454,7 @@ mzap_open(objset_t *os, uint64_t obj, dmu_buf_t *db)
                avl_create(&zap->zap_m.zap_avl, mze_compare,
                    sizeof (mzap_ent_t), offsetof(mzap_ent_t, mze_node));
 
-               for (i = 0; i < zap->zap_m.zap_num_chunks; i++) {
+               for (int i = 0; i < zap->zap_m.zap_num_chunks; i++) {
                        mzap_ent_phys_t *mze =
                            &zap_m_phys(zap)->mz_chunk[i];
                        if (mze->mze_name[0]) {
@@ -519,21 +505,18 @@ static int
 zap_lockdir_impl(dmu_buf_t *db, void *tag, dmu_tx_t *tx,
     krw_t lti, boolean_t fatreader, boolean_t adding, zap_t **zapp)
 {
-       dmu_object_info_t doi;
-       zap_t *zap;
-       krw_t lt;
-
+       ASSERT0(db->db_offset);
        objset_t *os = dmu_buf_get_objset(db);
        uint64_t obj = db->db_object;
+       dmu_object_info_t doi;
 
-       ASSERT0(db->db_offset);
        *zapp = NULL;
 
        dmu_object_info_from_db(db, &doi);
        if (DMU_OT_BYTESWAP(doi.doi_type) != DMU_BSWAP_ZAP)
                return (SET_ERROR(EINVAL));
 
-       zap = dmu_buf_get_user(db);
+       zap_t *zap = dmu_buf_get_user(db);
        if (zap == NULL) {
                zap = mzap_open(os, obj, db);
                if (zap == NULL) {
@@ -552,7 +535,7 @@ zap_lockdir_impl(dmu_buf_t *db, void *tag, dmu_tx_t *tx,
         * can only be different if it was upgraded from micro to fat,
         * and micro wanted WRITER but fat only needs READER.
         */
-       lt = (!zap->zap_ismicro && fatreader) ? RW_READER : lti;
+       krw_t lt = (!zap->zap_ismicro && fatreader) ? RW_READER : lti;
        rw_enter(&zap->zap_rwlock, lt);
        if (lt != ((!zap->zap_ismicro && fatreader) ? RW_READER : lti)) {
                /* it was upgraded, now we only need reader */
@@ -598,9 +581,8 @@ zap_lockdir_by_dnode(dnode_t *dn, dmu_tx_t *tx,
     krw_t lti, boolean_t fatreader, boolean_t adding, void *tag, zap_t **zapp)
 {
        dmu_buf_t *db;
-       int err;
 
-       err = dmu_buf_hold_by_dnode(dn, 0, tag, &db, DMU_READ_NO_PREFETCH);
+       int err = dmu_buf_hold_by_dnode(dn, 0, tag, &db, DMU_READ_NO_PREFETCH);
        if (err != 0) {
                return (err);
        }
@@ -616,9 +598,8 @@ zap_lockdir(objset_t *os, uint64_t obj, dmu_tx_t *tx,
     krw_t lti, boolean_t fatreader, boolean_t adding, void *tag, zap_t **zapp)
 {
        dmu_buf_t *db;
-       int err;
 
-       err = dmu_buf_hold(os, obj, 0, tag, &db, DMU_READ_NO_PREFETCH);
+       int err = dmu_buf_hold(os, obj, 0, tag, &db, DMU_READ_NO_PREFETCH);
        if (err != 0)
                return (err);
        err = zap_lockdir_impl(db, tag, tx, lti, fatreader, adding, zapp);
@@ -637,22 +618,20 @@ zap_unlockdir(zap_t *zap, void *tag)
 static int
 mzap_upgrade(zap_t **zapp, void *tag, dmu_tx_t *tx, zap_flags_t flags)
 {
-       mzap_phys_t *mzp;
-       int i, sz, nchunks;
        int err = 0;
        zap_t *zap = *zapp;
 
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
 
-       sz = zap->zap_dbuf->db_size;
-       mzp = vmem_alloc(sz, KM_SLEEP);
+       int sz = zap->zap_dbuf->db_size;
+       mzap_phys_t *mzp = vmem_alloc(sz, KM_SLEEP);
        bcopy(zap->zap_dbuf->db_data, mzp, sz);
-       nchunks = zap->zap_m.zap_num_chunks;
+       int nchunks = zap->zap_m.zap_num_chunks;
 
        if (!flags) {
                err = dmu_object_set_blocksize(zap->zap_objset, zap->zap_object,
                    1ULL << fzap_default_block_shift, 0, tx);
-               if (err) {
+               if (err != 0) {
                        vmem_free(mzp, sz);
                        return (err);
                }
@@ -665,14 +644,13 @@ mzap_upgrade(zap_t **zapp, void *tag, dmu_tx_t *tx, zap_flags_t flags)
 
        fzap_upgrade(zap, tx, flags);
 
-       for (i = 0; i < nchunks; i++) {
+       for (int i = 0; i < nchunks; i++) {
                mzap_ent_phys_t *mze = &mzp->mz_chunk[i];
-               zap_name_t *zn;
                if (mze->mze_name[0] == 0)
                        continue;
                dprintf("adding %s=%llu\n",
                    mze->mze_name, mze->mze_value);
-               zn = zap_name_alloc(zap, mze->mze_name, 0);
+               zap_name_t *zn = zap_name_alloc(zap, mze->mze_name, 0);
                /* If we fail here, we would end up losing entries */
                VERIFY0(fzap_add_cd(zn, 8, 1, &mze->mze_value, mze->mze_cd,
                    tag, tx));
@@ -706,7 +684,6 @@ mzap_create_impl(objset_t *os, uint64_t obj, int normflags, zap_flags_t flags,
     dmu_tx_t *tx)
 {
        dmu_buf_t *db;
-       mzap_phys_t *zp;
 
        VERIFY0(dmu_buf_hold(os, obj, 0, FTAG, &db, DMU_READ_NO_PREFETCH));
 
@@ -719,7 +696,7 @@ mzap_create_impl(objset_t *os, uint64_t obj, int normflags, zap_flags_t flags,
 #endif
 
        dmu_buf_will_dirty(db, tx);
-       zp = db->db_data;
+       mzap_phys_t *zp = db->db_data;
        zp->mz_block_type = ZBT_MICRO;
        zp->mz_salt = ((uintptr_t)db ^ (uintptr_t)tx ^ (obj << 1)) | 1ULL;
        zp->mz_normflags = normflags;
@@ -730,7 +707,7 @@ mzap_create_impl(objset_t *os, uint64_t obj, int normflags, zap_flags_t flags,
                /* Only fat zap supports flags; upgrade immediately. */
                VERIFY(0 == zap_lockdir(os, obj, tx, RW_WRITER,
                    B_FALSE, B_FALSE, FTAG, &zap));
-               VERIFY3U(0, ==, mzap_upgrade(&zap, FTAG, tx, flags));
+               VERIFY0(mzap_upgrade(&zap, FTAG, tx, flags));
                zap_unlockdir(zap, FTAG);
        }
 }
@@ -765,9 +742,7 @@ zap_create_claim_norm_dnsize(objset_t *os, uint64_t obj, int normflags,
     dmu_object_type_t ot, dmu_object_type_t bonustype, int bonuslen,
     int dnodesize, dmu_tx_t *tx)
 {
-       int err;
-
-       err = dmu_object_claim_dnsize(os, obj, ot, 0, bonustype, bonuslen,
+       int err = dmu_object_claim_dnsize(os, obj, ot, 0, bonustype, bonuslen,
            dnodesize, tx);
        if (err != 0)
                return (err);
@@ -869,10 +844,10 @@ int
 zap_count(objset_t *os, uint64_t zapobj, uint64_t *count)
 {
        zap_t *zap;
-       int err;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
        if (!zap->zap_ismicro) {
                err = fzap_count(zap, count);
@@ -890,7 +865,6 @@ zap_count(objset_t *os, uint64_t zapobj, uint64_t *count)
 static boolean_t
 mzap_normalization_conflict(zap_t *zap, zap_name_t *zn, mzap_ent_t *mze)
 {
-       mzap_ent_t *other;
        int direction = AVL_BEFORE;
        boolean_t allocdzn = B_FALSE;
 
@@ -898,7 +872,7 @@ mzap_normalization_conflict(zap_t *zap, zap_name_t *zn, mzap_ent_t *mze)
                return (B_FALSE);
 
 again:
-       for (other = avl_walk(&zap->zap_m.zap_avl, mze, direction);
+       for (mzap_ent_t *other = avl_walk(&zap->zap_m.zap_avl, mze, direction);
            other && other->mze_hash == mze->mze_hash;
            other = avl_walk(&zap->zap_m.zap_avl, other, direction)) {
 
@@ -943,10 +917,8 @@ zap_lookup_impl(zap_t *zap, const char *name,
     boolean_t *ncp)
 {
        int err = 0;
-       mzap_ent_t *mze;
-       zap_name_t *zn;
 
-       zn = zap_name_alloc(zap, name, mt);
+       zap_name_t *zn = zap_name_alloc(zap, name, mt);
        if (zn == NULL)
                return (SET_ERROR(ENOTSUP));
 
@@ -954,7 +926,7 @@ zap_lookup_impl(zap_t *zap, const char *name,
                err = fzap_lookup(zn, integer_size, num_integers, buf,
                    realname, rn_len, ncp);
        } else {
-               mze = mze_find(zn);
+               mzap_ent_t *mze = mze_find(zn);
                if (mze == NULL) {
                        err = SET_ERROR(ENOENT);
                } else {
@@ -985,9 +957,9 @@ zap_lookup_norm(objset_t *os, uint64_t zapobj, const char *name,
     boolean_t *ncp)
 {
        zap_t *zap;
-       int err;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
        if (err != 0)
                return (err);
        err = zap_lookup_impl(zap, name, integer_size,
@@ -1033,9 +1005,8 @@ zap_lookup_norm_by_dnode(dnode_t *dn, const char *name,
     boolean_t *ncp)
 {
        zap_t *zap;
-       int err;
 
-       err = zap_lockdir_by_dnode(dn, NULL, RW_READER, TRUE, FALSE,
+       int err = zap_lockdir_by_dnode(dn, NULL, RW_READER, TRUE, FALSE,
            FTAG, &zap);
        if (err != 0)
                return (err);
@@ -1050,13 +1021,12 @@ zap_prefetch_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     int key_numints)
 {
        zap_t *zap;
-       int err;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1073,13 +1043,12 @@ zap_lookup_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     int key_numints, uint64_t integer_size, uint64_t num_integers, void *buf)
 {
        zap_t *zap;
-       int err;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1107,14 +1076,12 @@ zap_length(objset_t *os, uint64_t zapobj, const char *name,
     uint64_t *integer_size, uint64_t *num_integers)
 {
        zap_t *zap;
-       int err;
-       mzap_ent_t *mze;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc(zap, name, 0);
+       zap_name_t *zn = zap_name_alloc(zap, name, 0);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1122,7 +1089,7 @@ zap_length(objset_t *os, uint64_t zapobj, const char *name,
        if (!zap->zap_ismicro) {
                err = fzap_length(zn, integer_size, num_integers);
        } else {
-               mze = mze_find(zn);
+               mzap_ent_t *mze = mze_find(zn);
                if (mze == NULL) {
                        err = SET_ERROR(ENOENT);
                } else {
@@ -1142,13 +1109,12 @@ zap_length_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     int key_numints, uint64_t *integer_size, uint64_t *num_integers)
 {
        zap_t *zap;
-       int err;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1162,27 +1128,24 @@ zap_length_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
 static void
 mzap_addent(zap_name_t *zn, uint64_t value)
 {
-       int i;
        zap_t *zap = zn->zn_zap;
        int start = zap->zap_m.zap_alloc_next;
-       uint32_t cd;
 
        ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
 
 #ifdef ZFS_DEBUG
-       for (i = 0; i < zap->zap_m.zap_num_chunks; i++) {
-               ASSERTV(mzap_ent_phys_t *mze);
-               ASSERT(mze = &zap_m_phys(zap)->mz_chunk[i]);
+       for (int i = 0; i < zap->zap_m.zap_num_chunks; i++) {
+               mzap_ent_phys_t *mze = &zap_m_phys(zap)->mz_chunk[i];
                ASSERT(strcmp(zn->zn_key_orig, mze->mze_name) != 0);
        }
 #endif
 
-       cd = mze_find_unused_cd(zap, zn->zn_hash);
+       uint32_t cd = mze_find_unused_cd(zap, zn->zn_hash);
        /* given the limited size of the microzap, this can't happen */
        ASSERT(cd < zap_maxcd(zap));
 
 again:
-       for (i = start; i < zap->zap_m.zap_num_chunks; i++) {
+       for (int i = start; i < zap->zap_m.zap_num_chunks; i++) {
                mzap_ent_phys_t *mze = &zap_m_phys(zap)->mz_chunk[i];
                if (mze->mze_name[0] == 0) {
                        mze->mze_value = value;
@@ -1210,12 +1173,10 @@ zap_add_impl(zap_t *zap, const char *key,
     int integer_size, uint64_t num_integers,
     const void *val, dmu_tx_t *tx, void *tag)
 {
-       int err = 0;
-       mzap_ent_t *mze;
        const uint64_t *intval = val;
-       zap_name_t *zn;
+       int err = 0;
 
-       zn = zap_name_alloc(zap, key, 0);
+       zap_name_t *zn = zap_name_alloc(zap, key, 0);
        if (zn == NULL) {
                zap_unlockdir(zap, tag);
                return (SET_ERROR(ENOTSUP));
@@ -1233,8 +1194,7 @@ zap_add_impl(zap_t *zap, const char *key,
                }
                zap = zn->zn_zap;       /* fzap_add() may change zap */
        } else {
-               mze = mze_find(zn);
-               if (mze != NULL) {
+               if (mze_find(zn) != NULL) {
                        err = SET_ERROR(EEXIST);
                } else {
                        mzap_addent(zn, *intval);
@@ -1285,13 +1245,12 @@ zap_add_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     const void *val, dmu_tx_t *tx)
 {
        zap_t *zap;
-       int err;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1309,13 +1268,10 @@ zap_update(objset_t *os, uint64_t zapobj, const char *name,
     int integer_size, uint64_t num_integers, const void *val, dmu_tx_t *tx)
 {
        zap_t *zap;
-       mzap_ent_t *mze;
+       ASSERTV(uint64_t oldval);
        const uint64_t *intval = val;
-       zap_name_t *zn;
-       int err;
 
 #ifdef ZFS_DEBUG
-       uint64_t oldval;
 
        /*
         * If there is an old value, it shouldn't change across the
@@ -1325,10 +1281,11 @@ zap_update(objset_t *os, uint64_t zapobj, const char *name,
                (void) zap_lookup(os, zapobj, name, 8, 1, &oldval);
 #endif
 
-       err = zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc(zap, name, 0);
+       zap_name_t *zn = zap_name_alloc(zap, name, 0);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1348,7 +1305,7 @@ zap_update(objset_t *os, uint64_t zapobj, const char *name,
                }
                zap = zn->zn_zap;       /* fzap_update() may change zap */
        } else {
-               mze = mze_find(zn);
+               mzap_ent_t *mze = mze_find(zn);
                if (mze != NULL) {
                        ASSERT3U(MZE_PHYS(zap, mze)->mze_value, ==, oldval);
                        MZE_PHYS(zap, mze)->mze_value = *intval;
@@ -1369,13 +1326,12 @@ zap_update_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     int integer_size, uint64_t num_integers, const void *val, dmu_tx_t *tx)
 {
        zap_t *zap;
-       zap_name_t *zn;
-       int err;
 
-       err = zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1398,17 +1354,15 @@ static int
 zap_remove_impl(zap_t *zap, const char *name,
     matchtype_t mt, dmu_tx_t *tx)
 {
-       mzap_ent_t *mze;
-       zap_name_t *zn;
        int err = 0;
 
-       zn = zap_name_alloc(zap, name, mt);
+       zap_name_t *zn = zap_name_alloc(zap, name, mt);
        if (zn == NULL)
                return (SET_ERROR(ENOTSUP));
        if (!zap->zap_ismicro) {
                err = fzap_remove(zn, tx);
        } else {
-               mze = mze_find(zn);
+               mzap_ent_t *mze = mze_find(zn);
                if (mze == NULL) {
                        err = SET_ERROR(ENOENT);
                } else {
@@ -1456,13 +1410,12 @@ zap_remove_uint64(objset_t *os, uint64_t zapobj, const uint64_t *key,
     int key_numints, dmu_tx_t *tx)
 {
        zap_t *zap;
-       int err;
-       zap_name_t *zn;
 
-       err = zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
-       zn = zap_name_alloc_uint64(zap, key, key_numints);
+       zap_name_t *zn = zap_name_alloc_uint64(zap, key, key_numints);
        if (zn == NULL) {
                zap_unlockdir(zap, FTAG);
                return (SET_ERROR(ENOTSUP));
@@ -1538,9 +1491,6 @@ int
 zap_cursor_retrieve(zap_cursor_t *zc, zap_attribute_t *za)
 {
        int err;
-       avl_index_t idx;
-       mzap_ent_t mze_tofind;
-       mzap_ent_t *mze;
 
        if (zc->zc_hash == -1ULL)
                return (SET_ERROR(ENOENT));
@@ -1549,7 +1499,7 @@ zap_cursor_retrieve(zap_cursor_t *zc, zap_attribute_t *za)
                int hb;
                err = zap_lockdir(zc->zc_objset, zc->zc_zapobj, NULL,
                    RW_READER, TRUE, FALSE, NULL, &zc->zc_zap);
-               if (err)
+               if (err != 0)
                        return (err);
 
                /*
@@ -1569,10 +1519,14 @@ zap_cursor_retrieve(zap_cursor_t *zc, zap_attribute_t *za)
        if (!zc->zc_zap->zap_ismicro) {
                err = fzap_cursor_retrieve(zc->zc_zap, zc, za);
        } else {
+               avl_index_t idx;
+               mzap_ent_t mze_tofind;
+
                mze_tofind.mze_hash = zc->zc_hash;
                mze_tofind.mze_cd = zc->zc_cd;
 
-               mze = avl_find(&zc->zc_zap->zap_m.zap_avl, &mze_tofind, &idx);
+               mzap_ent_t *mze =
+                   avl_find(&zc->zc_zap->zap_m.zap_avl, &mze_tofind, &idx);
                if (mze == NULL) {
                        mze = avl_nearest(&zc->zc_zap->zap_m.zap_avl,
                            idx, AVL_AFTER);
@@ -1609,11 +1563,11 @@ zap_cursor_advance(zap_cursor_t *zc)
 int
 zap_get_stats(objset_t *os, uint64_t zapobj, zap_stats_t *zs)
 {
-       int err;
        zap_t *zap;
 
-       err = zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
-       if (err)
+       int err =
+           zap_lockdir(os, zapobj, NULL, RW_READER, TRUE, FALSE, FTAG, &zap);
+       if (err != 0)
                return (err);
 
        bzero(zs, sizeof (zap_stats_t));