Print this page
patch first-pass

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/zap_micro.c
          +++ new/usr/src/uts/common/fs/zfs/zap_micro.c
↓ open down ↓ 381 lines elided ↑ open up ↑
 382  382                  zap->zap_f.zap_block_shift = highbit64(db->db_size) - 1;
 383  383          } else {
 384  384                  zap->zap_ismicro = TRUE;
 385  385          }
 386  386  
 387  387          /*
 388  388           * Make sure that zap_ismicro is set before we let others see
 389  389           * it, because zap_lockdir() checks zap_ismicro without the lock
 390  390           * held.
 391  391           */
 392      -        dmu_buf_init_user(&zap->zap_dbu, zap_evict, &zap->zap_dbuf);
      392 +        dmu_buf_init_user(&zap->zap_dbu, NULL, zap_evict, &zap->zap_dbuf);
 393  393          winner = dmu_buf_set_user(db, &zap->zap_dbu);
 394  394  
 395  395          if (winner != NULL) {
 396  396                  rw_exit(&zap->zap_rwlock);
 397  397                  rw_destroy(&zap->zap_rwlock);
 398  398                  if (!zap->zap_ismicro)
 399  399                          mutex_destroy(&zap->zap_f.zap_num_entries_mtx);
 400  400                  kmem_free(zap, sizeof (zap_t));
 401  401                  return (winner);
 402  402          }
↓ open down ↓ 1017 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX