Lines Matching refs:zc
1817 zap_cursor_init_impl(zap_cursor_t *zc, objset_t *os, uint64_t zapobj, in zap_cursor_init_impl() argument
1820 zc->zc_objset = os; in zap_cursor_init_impl()
1821 zc->zc_zap = NULL; in zap_cursor_init_impl()
1822 zc->zc_leaf = NULL; in zap_cursor_init_impl()
1823 zc->zc_zapobj = zapobj; in zap_cursor_init_impl()
1824 zc->zc_serialized = serialized; in zap_cursor_init_impl()
1825 zc->zc_hash = 0; in zap_cursor_init_impl()
1826 zc->zc_cd = 0; in zap_cursor_init_impl()
1827 zc->zc_prefetch = prefetch; in zap_cursor_init_impl()
1830 zap_cursor_init_serialized(zap_cursor_t *zc, objset_t *os, uint64_t zapobj, in zap_cursor_init_serialized() argument
1833 zap_cursor_init_impl(zc, os, zapobj, serialized, B_TRUE); in zap_cursor_init_serialized()
1841 zap_cursor_init(zap_cursor_t *zc, objset_t *os, uint64_t zapobj) in zap_cursor_init() argument
1843 zap_cursor_init_impl(zc, os, zapobj, 0, B_TRUE); in zap_cursor_init()
1851 zap_cursor_init_noprefetch(zap_cursor_t *zc, objset_t *os, uint64_t zapobj) in zap_cursor_init_noprefetch() argument
1853 zap_cursor_init_impl(zc, os, zapobj, 0, B_FALSE); in zap_cursor_init_noprefetch()
1857 zap_cursor_fini(zap_cursor_t *zc) in zap_cursor_fini() argument
1859 if (zc->zc_zap) { in zap_cursor_fini()
1860 rw_enter(&zc->zc_zap->zap_rwlock, RW_READER); in zap_cursor_fini()
1861 zap_unlockdir(zc->zc_zap, NULL); in zap_cursor_fini()
1862 zc->zc_zap = NULL; in zap_cursor_fini()
1864 if (zc->zc_leaf) { in zap_cursor_fini()
1865 rw_enter(&zc->zc_leaf->l_rwlock, RW_READER); in zap_cursor_fini()
1866 zap_put_leaf(zc->zc_leaf); in zap_cursor_fini()
1867 zc->zc_leaf = NULL; in zap_cursor_fini()
1869 zc->zc_objset = NULL; in zap_cursor_fini()
1873 zap_cursor_serialize(zap_cursor_t *zc) in zap_cursor_serialize() argument
1875 if (zc->zc_hash == -1ULL) in zap_cursor_serialize()
1877 if (zc->zc_zap == NULL) in zap_cursor_serialize()
1878 return (zc->zc_serialized); in zap_cursor_serialize()
1879 ASSERT((zc->zc_hash & zap_maxcd(zc->zc_zap)) == 0); in zap_cursor_serialize()
1880 ASSERT(zc->zc_cd < zap_maxcd(zc->zc_zap)); in zap_cursor_serialize()
1890 return ((zc->zc_hash >> (64 - zap_hashbits(zc->zc_zap))) | in zap_cursor_serialize()
1891 ((uint64_t)zc->zc_cd << zap_hashbits(zc->zc_zap))); in zap_cursor_serialize()
1895 zap_cursor_retrieve(zap_cursor_t *zc, zap_attribute_t *za) in zap_cursor_retrieve() argument
1899 if (zc->zc_hash == -1ULL) in zap_cursor_retrieve()
1902 if (zc->zc_zap == NULL) { in zap_cursor_retrieve()
1904 err = zap_lockdir(zc->zc_objset, zc->zc_zapobj, NULL, in zap_cursor_retrieve()
1905 RW_READER, TRUE, FALSE, NULL, &zc->zc_zap); in zap_cursor_retrieve()
1914 ASSERT(zc->zc_hash == 0); in zap_cursor_retrieve()
1915 hb = zap_hashbits(zc->zc_zap); in zap_cursor_retrieve()
1916 zc->zc_hash = zc->zc_serialized << (64 - hb); in zap_cursor_retrieve()
1917 zc->zc_cd += zc->zc_serialized >> hb; in zap_cursor_retrieve()
1918 if (zc->zc_cd >= zap_maxcd(zc->zc_zap)) /* corrupt serialized */ in zap_cursor_retrieve()
1919 zc->zc_cd = 0; in zap_cursor_retrieve()
1921 rw_enter(&zc->zc_zap->zap_rwlock, RW_READER); in zap_cursor_retrieve()
1923 if (!zc->zc_zap->zap_ismicro) { in zap_cursor_retrieve()
1924 err = fzap_cursor_retrieve(zc->zc_zap, zc, za); in zap_cursor_retrieve()
1929 mze_tofind.mze_hash = zc->zc_hash >> 32; in zap_cursor_retrieve()
1930 mze_tofind.mze_cd = zc->zc_cd; in zap_cursor_retrieve()
1932 mzap_ent_t *mze = zfs_btree_find(&zc->zc_zap->zap_m.zap_tree, in zap_cursor_retrieve()
1935 mze = zfs_btree_next(&zc->zc_zap->zap_m.zap_tree, in zap_cursor_retrieve()
1939 mzap_ent_phys_t *mzep = MZE_PHYS(zc->zc_zap, mze); in zap_cursor_retrieve()
1942 mzap_normalization_conflict(zc->zc_zap, NULL, in zap_cursor_retrieve()
1949 zc->zc_hash = (uint64_t)mze->mze_hash << 32; in zap_cursor_retrieve()
1950 zc->zc_cd = mze->mze_cd; in zap_cursor_retrieve()
1953 zc->zc_hash = -1ULL; in zap_cursor_retrieve()
1957 rw_exit(&zc->zc_zap->zap_rwlock); in zap_cursor_retrieve()
1962 zap_cursor_advance(zap_cursor_t *zc) in zap_cursor_advance() argument
1964 if (zc->zc_hash == -1ULL) in zap_cursor_advance()
1966 zc->zc_cd++; in zap_cursor_advance()