buf_hash_table
buf_hash_table.ht_mask = hsize - 1;
buf_hash_table.ht_table =
if (buf_hash_table.ht_table == NULL) {
mutex_init(&buf_hash_table.ht_locks[i].ht_lock,
static buf_hash_table_t buf_hash_table;
(buf_hash(spa, dva, birth) & buf_hash_table.ht_mask)
#define BUF_HASH_LOCK_NTRY(idx) (buf_hash_table.ht_locks[idx & (BUF_LOCKS-1)])
for (hdr = buf_hash_table.ht_table[idx]; hdr != NULL;
for (fhdr = buf_hash_table.ht_table[idx], i = 0; fhdr != NULL;
hdr->b_hash_next = buf_hash_table.ht_table[idx];
buf_hash_table.ht_table[idx] = hdr;
hdrp = &buf_hash_table.ht_table[idx];
if (buf_hash_table.ht_table[idx] &&
buf_hash_table.ht_table[idx]->b_hash_next == NULL)
kmem_free(buf_hash_table.ht_table,
(buf_hash_table.ht_mask + 1) * sizeof (void *));
mutex_destroy(&buf_hash_table.ht_locks[i].ht_lock);