Lines Matching refs:zc

1386 zap_cursor_init_impl(zap_cursor_t *zc, objset_t *os, uint64_t zapobj,  in zap_cursor_init_impl()  argument
1389 zc->zc_objset = os; in zap_cursor_init_impl()
1390 zc->zc_zap = NULL; in zap_cursor_init_impl()
1391 zc->zc_leaf = NULL; in zap_cursor_init_impl()
1392 zc->zc_zapobj = zapobj; in zap_cursor_init_impl()
1393 zc->zc_serialized = serialized; in zap_cursor_init_impl()
1394 zc->zc_hash = 0; in zap_cursor_init_impl()
1395 zc->zc_cd = 0; in zap_cursor_init_impl()
1396 zc->zc_prefetch = prefetch; in zap_cursor_init_impl()
1399 zap_cursor_init_serialized(zap_cursor_t *zc, objset_t *os, uint64_t zapobj, in zap_cursor_init_serialized() argument
1402 zap_cursor_init_impl(zc, os, zapobj, serialized, B_TRUE); in zap_cursor_init_serialized()
1410 zap_cursor_init(zap_cursor_t *zc, objset_t *os, uint64_t zapobj) in zap_cursor_init() argument
1412 zap_cursor_init_impl(zc, os, zapobj, 0, B_TRUE); in zap_cursor_init()
1420 zap_cursor_init_noprefetch(zap_cursor_t *zc, objset_t *os, uint64_t zapobj) in zap_cursor_init_noprefetch() argument
1422 zap_cursor_init_impl(zc, os, zapobj, 0, B_FALSE); in zap_cursor_init_noprefetch()
1426 zap_cursor_fini(zap_cursor_t *zc) in zap_cursor_fini() argument
1428 if (zc->zc_zap) { in zap_cursor_fini()
1429 rw_enter(&zc->zc_zap->zap_rwlock, RW_READER); in zap_cursor_fini()
1430 zap_unlockdir(zc->zc_zap, NULL); in zap_cursor_fini()
1431 zc->zc_zap = NULL; in zap_cursor_fini()
1433 if (zc->zc_leaf) { in zap_cursor_fini()
1434 rw_enter(&zc->zc_leaf->l_rwlock, RW_READER); in zap_cursor_fini()
1435 zap_put_leaf(zc->zc_leaf); in zap_cursor_fini()
1436 zc->zc_leaf = NULL; in zap_cursor_fini()
1438 zc->zc_objset = NULL; in zap_cursor_fini()
1442 zap_cursor_serialize(zap_cursor_t *zc) in zap_cursor_serialize() argument
1444 if (zc->zc_hash == -1ULL) in zap_cursor_serialize()
1446 if (zc->zc_zap == NULL) in zap_cursor_serialize()
1447 return (zc->zc_serialized); in zap_cursor_serialize()
1448 ASSERT((zc->zc_hash & zap_maxcd(zc->zc_zap)) == 0); in zap_cursor_serialize()
1449 ASSERT(zc->zc_cd < zap_maxcd(zc->zc_zap)); in zap_cursor_serialize()
1459 return ((zc->zc_hash >> (64 - zap_hashbits(zc->zc_zap))) | in zap_cursor_serialize()
1460 ((uint64_t)zc->zc_cd << zap_hashbits(zc->zc_zap))); in zap_cursor_serialize()
1464 zap_cursor_retrieve(zap_cursor_t *zc, zap_attribute_t *za) in zap_cursor_retrieve() argument
1468 if (zc->zc_hash == -1ULL) in zap_cursor_retrieve()
1471 if (zc->zc_zap == NULL) { in zap_cursor_retrieve()
1473 err = zap_lockdir(zc->zc_objset, zc->zc_zapobj, NULL, in zap_cursor_retrieve()
1474 RW_READER, TRUE, FALSE, NULL, &zc->zc_zap); in zap_cursor_retrieve()
1483 ASSERT(zc->zc_hash == 0); in zap_cursor_retrieve()
1484 hb = zap_hashbits(zc->zc_zap); in zap_cursor_retrieve()
1485 zc->zc_hash = zc->zc_serialized << (64 - hb); in zap_cursor_retrieve()
1486 zc->zc_cd += zc->zc_serialized >> hb; in zap_cursor_retrieve()
1487 if (zc->zc_cd >= zap_maxcd(zc->zc_zap)) /* corrupt serialized */ in zap_cursor_retrieve()
1488 zc->zc_cd = 0; in zap_cursor_retrieve()
1490 rw_enter(&zc->zc_zap->zap_rwlock, RW_READER); in zap_cursor_retrieve()
1492 if (!zc->zc_zap->zap_ismicro) { in zap_cursor_retrieve()
1493 err = fzap_cursor_retrieve(zc->zc_zap, zc, za); in zap_cursor_retrieve()
1498 mze_tofind.mze_hash = zc->zc_hash; in zap_cursor_retrieve()
1499 mze_tofind.mze_cd = zc->zc_cd; in zap_cursor_retrieve()
1502 avl_find(&zc->zc_zap->zap_m.zap_avl, &mze_tofind, &idx); in zap_cursor_retrieve()
1504 mze = avl_nearest(&zc->zc_zap->zap_m.zap_avl, in zap_cursor_retrieve()
1508 mzap_ent_phys_t *mzep = MZE_PHYS(zc->zc_zap, mze); in zap_cursor_retrieve()
1511 mzap_normalization_conflict(zc->zc_zap, NULL, mze); in zap_cursor_retrieve()
1516 zc->zc_hash = mze->mze_hash; in zap_cursor_retrieve()
1517 zc->zc_cd = mze->mze_cd; in zap_cursor_retrieve()
1520 zc->zc_hash = -1ULL; in zap_cursor_retrieve()
1524 rw_exit(&zc->zc_zap->zap_rwlock); in zap_cursor_retrieve()
1529 zap_cursor_advance(zap_cursor_t *zc) in zap_cursor_advance() argument
1531 if (zc->zc_hash == -1ULL) in zap_cursor_advance()
1533 zc->zc_cd++; in zap_cursor_advance()