dh                755 arch/i386/i386/apm.c 	bus_space_handle_t ch, dh;
dh                784 arch/i386/i386/apm.c 	    ap->apm_data_len, 1, &dh) != 0) {
dh                788 arch/i386/i386/apm.c 	bus_space_unmap(ba->bios_memt, dh, ap->apm_data_len);
dh                800 arch/i386/i386/apm.c 	bus_space_handle_t ch16, ch32, dh;
dh                842 arch/i386/i386/apm.c 				l, 1, &dh);
dh                843 arch/i386/i386/apm.c 			ch16 = dh;
dh                847 arch/i386/i386/apm.c 				dh += ap->apm_data_base - cbase;
dh                852 arch/i386/i386/apm.c 			    ap->apm_data_len + 1, 1, &dh);
dh                864 arch/i386/i386/apm.c 		setgdt(GAPMDATA_SEL, (void *)dh, ap->apm_data_len, SDT_MEMRWA,
dh                870 arch/i386/i386/apm.c 		    ap->apm_data_base, dh, ap->apm_data_len,
dh                245 dev/raidframe/rf_dagutils.c 	RF_DagHeader_t *dh;
dh                247 dev/raidframe/rf_dagutils.c 	RF_FREELIST_GET(rf_dagh_freelist, dh, next, (RF_DagHeader_t *));
dh                248 dev/raidframe/rf_dagutils.c 	if (dh) {
dh                249 dev/raidframe/rf_dagutils.c 		bzero((char *) dh, sizeof(RF_DagHeader_t));
dh                251 dev/raidframe/rf_dagutils.c 	return (dh);
dh                255 dev/raidframe/rf_dagutils.c rf_FreeDAGHeader(RF_DagHeader_t *dh)
dh                257 dev/raidframe/rf_dagutils.c 	RF_FREELIST_FREE(rf_dagh_freelist, dh, next);
dh                126 msdosfs/direntry.h void dos2unixtime(u_int dd, u_int dt, u_int dh, struct timespec *tsp);
dh                179 msdosfs/msdosfs_conv.c dos2unixtime(dd, dt, dh, tsp)
dh                182 msdosfs/msdosfs_conv.c 	u_int dh;
dh                202 msdosfs/msdosfs_conv.c 	    + dh / 100;
dh                231 msdosfs/msdosfs_conv.c 	tsp->tv_nsec = (dh % 100) * 10000000;
dh                 82 ufs/ufs/dirhash.h #define DH_ENTRY(dh, slot) \
dh                 83 ufs/ufs/dirhash.h     ((dh)->dh_hash[(slot) >> DH_BLKOFFSHIFT][(slot) & DH_BLKOFFMASK])
dh                 67 ufs/ufs/ufs_dirhash.c int ufsdirhash_hash(struct dirhash *dh, char *name, int namelen);
dh                 68 ufs/ufs/ufs_dirhash.c void ufsdirhash_adjfree(struct dirhash *dh, doff_t offset, int diff);
dh                 69 ufs/ufs/ufs_dirhash.c void ufsdirhash_delslot(struct dirhash *dh, int slot);
dh                 70 ufs/ufs/ufs_dirhash.c int ufsdirhash_findslot(struct dirhash *dh, char *name, int namelen,
dh                 79 ufs/ufs/ufs_dirhash.c #define	DIRHASH_LOCK(dh)
dh                 80 ufs/ufs/ufs_dirhash.c #define	DIRHASH_UNLOCK(dh)
dh                109 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                148 ufs/ufs/ufs_dirhash.c 	memreqd = sizeof(*dh) + narrays * sizeof(*dh->dh_hash) +
dh                149 ufs/ufs/ufs_dirhash.c 	    narrays * DH_NBLKOFF * sizeof(**dh->dh_hash) +
dh                150 ufs/ufs/ufs_dirhash.c 	    nblocks * sizeof(*dh->dh_blkfree);
dh                169 ufs/ufs/ufs_dirhash.c 	MALLOC(dh, struct dirhash *, sizeof *dh, M_DIRHASH, M_NOWAIT);
dh                170 ufs/ufs/ufs_dirhash.c 	if (dh == NULL) {
dh                176 ufs/ufs/ufs_dirhash.c 	memset(dh, 0, sizeof *dh);
dh                177 ufs/ufs/ufs_dirhash.c 	dh->dh_hash = malloc(narrays * sizeof(dh->dh_hash[0]),
dh                179 ufs/ufs/ufs_dirhash.c 	dh->dh_blkfree = malloc(nblocks * sizeof(dh->dh_blkfree[0]),
dh                181 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL || dh->dh_blkfree == NULL)
dh                183 ufs/ufs/ufs_dirhash.c 	memset(dh->dh_hash, 0, narrays * sizeof(dh->dh_hash[0]));
dh                185 ufs/ufs/ufs_dirhash.c 		if ((dh->dh_hash[i] = DIRHASH_BLKALLOC()) == NULL)
dh                188 ufs/ufs/ufs_dirhash.c 			dh->dh_hash[i][j] = DIRHASH_EMPTY;
dh                192 ufs/ufs/ufs_dirhash.c 	dh->dh_narrays = narrays;
dh                193 ufs/ufs/ufs_dirhash.c 	dh->dh_hlen = nslots;
dh                194 ufs/ufs/ufs_dirhash.c 	dh->dh_nblk = nblocks;
dh                195 ufs/ufs/ufs_dirhash.c 	dh->dh_dirblks = dirblocks;
dh                197 ufs/ufs/ufs_dirhash.c 		dh->dh_blkfree[i] = DIRBLKSIZ / DIRALIGN;
dh                199 ufs/ufs/ufs_dirhash.c 		dh->dh_firstfree[i] = -1;
dh                200 ufs/ufs/ufs_dirhash.c 	dh->dh_firstfree[DH_NFSTATS] = 0;
dh                201 ufs/ufs/ufs_dirhash.c 	dh->dh_seqopt = 0;
dh                202 ufs/ufs/ufs_dirhash.c 	dh->dh_seqoff = 0;
dh                203 ufs/ufs/ufs_dirhash.c 	dh->dh_score = DH_SCOREINIT;
dh                204 ufs/ufs/ufs_dirhash.c 	ip->i_dirhash = dh;
dh                227 ufs/ufs/ufs_dirhash.c 			slot = ufsdirhash_hash(dh, ep->d_name, ep->d_namlen);
dh                228 ufs/ufs/ufs_dirhash.c 			while (DH_ENTRY(dh, slot) != DIRHASH_EMPTY)
dh                229 ufs/ufs/ufs_dirhash.c 				slot = WRAPINCR(slot, dh->dh_hlen);
dh                230 ufs/ufs/ufs_dirhash.c 			dh->dh_hused++;
dh                231 ufs/ufs/ufs_dirhash.c 			DH_ENTRY(dh, slot) = pos;
dh                232 ufs/ufs/ufs_dirhash.c 			ufsdirhash_adjfree(dh, pos, -DIRSIZ(0, ep));
dh                240 ufs/ufs/ufs_dirhash.c 	TAILQ_INSERT_TAIL(&ufsdirhash_list, dh, dh_list);
dh                241 ufs/ufs/ufs_dirhash.c 	dh->dh_onlist = 1;
dh                246 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash != NULL) {
dh                248 ufs/ufs/ufs_dirhash.c 			if (dh->dh_hash[i] != NULL)
dh                249 ufs/ufs/ufs_dirhash.c 				DIRHASH_BLKFREE(dh->dh_hash[i]);
dh                250 ufs/ufs/ufs_dirhash.c 		free(dh->dh_hash, M_DIRHASH);
dh                252 ufs/ufs/ufs_dirhash.c 	if (dh->dh_blkfree != NULL)
dh                253 ufs/ufs/ufs_dirhash.c 		free(dh->dh_blkfree, M_DIRHASH);
dh                254 ufs/ufs/ufs_dirhash.c 	FREE(dh, M_DIRHASH);
dh                268 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                271 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                274 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                275 ufs/ufs/ufs_dirhash.c 	if (dh->dh_onlist)
dh                276 ufs/ufs/ufs_dirhash.c 		TAILQ_REMOVE(&ufsdirhash_list, dh, dh_list);
dh                277 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                282 ufs/ufs/ufs_dirhash.c 	mem = sizeof(*dh);
dh                283 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash != NULL) {
dh                284 ufs/ufs/ufs_dirhash.c 		for (i = 0; i < dh->dh_narrays; i++)
dh                285 ufs/ufs/ufs_dirhash.c 			DIRHASH_BLKFREE(dh->dh_hash[i]);
dh                286 ufs/ufs/ufs_dirhash.c 		free(dh->dh_hash, M_DIRHASH);
dh                287 ufs/ufs/ufs_dirhash.c 		free(dh->dh_blkfree, M_DIRHASH);
dh                288 ufs/ufs/ufs_dirhash.c 		mem += dh->dh_narrays * sizeof(*dh->dh_hash) +
dh                289 ufs/ufs/ufs_dirhash.c 		    dh->dh_narrays * DH_NBLKOFF * sizeof(**dh->dh_hash) +
dh                290 ufs/ufs/ufs_dirhash.c 		    dh->dh_nblk * sizeof(*dh->dh_blkfree);
dh                292 ufs/ufs/ufs_dirhash.c 	FREE(dh, M_DIRHASH);
dh                315 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh, *dh_next;
dh                322 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                332 ufs/ufs/ufs_dirhash.c 	if (TAILQ_NEXT(dh, dh_list) != NULL) {
dh                334 ufs/ufs/ufs_dirhash.c 		DIRHASH_LOCK(dh);
dh                341 ufs/ufs/ufs_dirhash.c 		if (dh->dh_hash != NULL &&
dh                342 ufs/ufs/ufs_dirhash.c 		    (dh_next = TAILQ_NEXT(dh, dh_list)) != NULL &&
dh                343 ufs/ufs/ufs_dirhash.c 		    dh->dh_score >= dh_next->dh_score) {
dh                344 ufs/ufs/ufs_dirhash.c 			DIRHASH_ASSERT(dh->dh_onlist, ("dirhash: not on list"));
dh                345 ufs/ufs/ufs_dirhash.c 			TAILQ_REMOVE(&ufsdirhash_list, dh, dh_list);
dh                346 ufs/ufs/ufs_dirhash.c 			TAILQ_INSERT_AFTER(&ufsdirhash_list, dh_next, dh,
dh                352 ufs/ufs/ufs_dirhash.c 		DIRHASH_LOCK(dh);
dh                354 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                355 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                361 ufs/ufs/ufs_dirhash.c 	if (dh->dh_score < DH_SCOREMAX)
dh                362 ufs/ufs/ufs_dirhash.c 		dh->dh_score++;
dh                369 ufs/ufs/ufs_dirhash.c 	slot = ufsdirhash_hash(dh, name, namelen);
dh                371 ufs/ufs/ufs_dirhash.c 	if (dh->dh_seqopt) {
dh                378 ufs/ufs/ufs_dirhash.c 		for (i = slot; (offset = DH_ENTRY(dh, i)) != DIRHASH_EMPTY;
dh                379 ufs/ufs/ufs_dirhash.c 		    i = WRAPINCR(i, dh->dh_hlen))
dh                380 ufs/ufs/ufs_dirhash.c 			if (offset == dh->dh_seqoff)
dh                382 ufs/ufs/ufs_dirhash.c 		if (offset == dh->dh_seqoff) {
dh                390 ufs/ufs/ufs_dirhash.c 			dh->dh_seqopt = 0;
dh                393 ufs/ufs/ufs_dirhash.c 	for (; (offset = DH_ENTRY(dh, slot)) != DIRHASH_EMPTY;
dh                394 ufs/ufs/ufs_dirhash.c 	    slot = WRAPINCR(slot, dh->dh_hlen)) {
dh                397 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                432 ufs/ufs/ufs_dirhash.c 			if (dh->dh_seqopt == 0 && dh->dh_seqoff == offset)
dh                433 ufs/ufs/ufs_dirhash.c 				dh->dh_seqopt = 1;
dh                434 ufs/ufs/ufs_dirhash.c 			dh->dh_seqoff = offset + DIRSIZ(0, dp);
dh                441 ufs/ufs/ufs_dirhash.c 		DIRHASH_LOCK(dh);
dh                442 ufs/ufs/ufs_dirhash.c 		if (dh->dh_hash == NULL) {
dh                443 ufs/ufs/ufs_dirhash.c 			DIRHASH_UNLOCK(dh);
dh                453 ufs/ufs/ufs_dirhash.c 		if (dh->dh_seqopt) {
dh                454 ufs/ufs/ufs_dirhash.c 			dh->dh_seqopt = 0;
dh                458 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                484 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                489 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                491 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                492 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                493 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                501 ufs/ufs/ufs_dirhash.c 		if ((dirblock = dh->dh_firstfree[i]) != -1)
dh                504 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                508 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(dirblock < dh->dh_nblk &&
dh                509 ufs/ufs/ufs_dirhash.c 	    dh->dh_blkfree[dirblock] >= howmany(slotneeded, DIRALIGN),
dh                511 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                566 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                569 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                571 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                572 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                573 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                578 ufs/ufs/ufs_dirhash.c 	if (dh->dh_blkfree[dh->dh_dirblks - 1] != DIRBLKSIZ / DIRALIGN) {
dh                579 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                583 ufs/ufs/ufs_dirhash.c 	for (i = dh->dh_dirblks - 1; i >= 0; i--)
dh                584 ufs/ufs/ufs_dirhash.c 		if (dh->dh_blkfree[i] != DIRBLKSIZ / DIRALIGN)
dh                586 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                598 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                601 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                603 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                604 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                605 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                610 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(offset < dh->dh_dirblks * DIRBLKSIZ,
dh                616 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hused >= (dh->dh_hlen * 3) / 4) {
dh                617 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                623 ufs/ufs/ufs_dirhash.c 	slot = ufsdirhash_hash(dh, dirp->d_name, dirp->d_namlen);
dh                624 ufs/ufs/ufs_dirhash.c 	while (DH_ENTRY(dh, slot) >= 0)
dh                625 ufs/ufs/ufs_dirhash.c 		slot = WRAPINCR(slot, dh->dh_hlen);
dh                626 ufs/ufs/ufs_dirhash.c 	if (DH_ENTRY(dh, slot) == DIRHASH_EMPTY)
dh                627 ufs/ufs/ufs_dirhash.c 		dh->dh_hused++;
dh                628 ufs/ufs/ufs_dirhash.c 	DH_ENTRY(dh, slot) = offset;
dh                631 ufs/ufs/ufs_dirhash.c 	ufsdirhash_adjfree(dh, offset, -DIRSIZ(0, dirp));
dh                632 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                643 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                646 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                648 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                649 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                650 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                655 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(offset < dh->dh_dirblks * DIRBLKSIZ,
dh                658 ufs/ufs/ufs_dirhash.c 	slot = ufsdirhash_findslot(dh, dirp->d_name, dirp->d_namlen, offset);
dh                661 ufs/ufs/ufs_dirhash.c 	ufsdirhash_delslot(dh, slot);
dh                664 ufs/ufs/ufs_dirhash.c 	ufsdirhash_adjfree(dh, offset, DIRSIZ(0, dirp));
dh                665 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                676 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                679 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                681 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                682 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                683 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                688 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(oldoff < dh->dh_dirblks * DIRBLKSIZ &&
dh                689 ufs/ufs/ufs_dirhash.c 	    newoff < dh->dh_dirblks * DIRBLKSIZ,
dh                692 ufs/ufs/ufs_dirhash.c 	slot = ufsdirhash_findslot(dh, dirp->d_name, dirp->d_namlen, oldoff);
dh                693 ufs/ufs/ufs_dirhash.c 	DH_ENTRY(dh, slot) = newoff;
dh                694 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                704 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                707 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                709 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                710 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                711 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                716 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(offset == dh->dh_dirblks * DIRBLKSIZ,
dh                719 ufs/ufs/ufs_dirhash.c 	if (block >= dh->dh_nblk) {
dh                721 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                725 ufs/ufs/ufs_dirhash.c 	dh->dh_dirblks = block + 1;
dh                728 ufs/ufs/ufs_dirhash.c 	dh->dh_blkfree[block] = DIRBLKSIZ / DIRALIGN;
dh                729 ufs/ufs/ufs_dirhash.c 	if (dh->dh_firstfree[DH_NFSTATS] == -1)
dh                730 ufs/ufs/ufs_dirhash.c 		dh->dh_firstfree[DH_NFSTATS] = block;
dh                731 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                740 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                743 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                745 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                746 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                747 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                752 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(offset <= dh->dh_dirblks * DIRBLKSIZ,
dh                761 ufs/ufs/ufs_dirhash.c 	if (block < dh->dh_nblk / 8 && dh->dh_narrays > 1) {
dh                762 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                772 ufs/ufs/ufs_dirhash.c 	if (dh->dh_firstfree[DH_NFSTATS] >= block)
dh                773 ufs/ufs/ufs_dirhash.c 		dh->dh_firstfree[DH_NFSTATS] = -1;
dh                774 ufs/ufs/ufs_dirhash.c 	for (i = block; i < dh->dh_dirblks; i++)
dh                775 ufs/ufs/ufs_dirhash.c 		if (dh->dh_blkfree[i] != DIRBLKSIZ / DIRALIGN)
dh                778 ufs/ufs/ufs_dirhash.c 		if (dh->dh_firstfree[i] >= block)
dh                780 ufs/ufs/ufs_dirhash.c 	dh->dh_dirblks = block;
dh                781 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                796 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh                802 ufs/ufs/ufs_dirhash.c 	if ((dh = ip->i_dirhash) == NULL)
dh                804 ufs/ufs/ufs_dirhash.c 	DIRHASH_LOCK(dh);
dh                805 ufs/ufs/ufs_dirhash.c 	if (dh->dh_hash == NULL) {
dh                806 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);
dh                812 ufs/ufs/ufs_dirhash.c 	if ((offset & (DIRBLKSIZ - 1)) != 0 || block >= dh->dh_dirblks)
dh                837 ufs/ufs/ufs_dirhash.c 		ufsdirhash_findslot(dh, dp->d_name, dp->d_namlen, offset + i);
dh                844 ufs/ufs/ufs_dirhash.c 	if (dh->dh_blkfree[block] * DIRALIGN != nfree)
dh                849 ufs/ufs/ufs_dirhash.c 		if (dh->dh_firstfree[i] == block && i != ffslot)
dh                851 ufs/ufs/ufs_dirhash.c 	if (dh->dh_firstfree[ffslot] == -1)
dh                853 ufs/ufs/ufs_dirhash.c 	DIRHASH_UNLOCK(dh);
dh                860 ufs/ufs/ufs_dirhash.c ufsdirhash_hash(struct dirhash *dh, char *name, int namelen)
dh                871 ufs/ufs/ufs_dirhash.c 	hash = hash32_buf(&dh, sizeof(dh), hash);
dh                872 ufs/ufs/ufs_dirhash.c 	return (hash % dh->dh_hlen);
dh                884 ufs/ufs/ufs_dirhash.c ufsdirhash_adjfree(struct dirhash *dh, doff_t offset, int diff)
dh                890 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(block < dh->dh_nblk && block < dh->dh_dirblks,
dh                892 ufs/ufs/ufs_dirhash.c 	ofidx = BLKFREE2IDX(dh->dh_blkfree[block]);
dh                893 ufs/ufs/ufs_dirhash.c 	dh->dh_blkfree[block] = (int)dh->dh_blkfree[block] + (diff / DIRALIGN);
dh                894 ufs/ufs/ufs_dirhash.c 	nfidx = BLKFREE2IDX(dh->dh_blkfree[block]);
dh                899 ufs/ufs/ufs_dirhash.c 		if (dh->dh_firstfree[ofidx] == block) {
dh                900 ufs/ufs/ufs_dirhash.c 			for (i = block + 1; i < dh->dh_dirblks; i++)
dh                901 ufs/ufs/ufs_dirhash.c 				if (BLKFREE2IDX(dh->dh_blkfree[i]) == ofidx)
dh                903 ufs/ufs/ufs_dirhash.c 			dh->dh_firstfree[ofidx] = (i < dh->dh_dirblks) ? i : -1;
dh                907 ufs/ufs/ufs_dirhash.c 		if (dh->dh_firstfree[nfidx] > block ||
dh                908 ufs/ufs/ufs_dirhash.c 		    dh->dh_firstfree[nfidx] == -1)
dh                909 ufs/ufs/ufs_dirhash.c 			dh->dh_firstfree[nfidx] = block;
dh                920 ufs/ufs/ufs_dirhash.c ufsdirhash_findslot(struct dirhash *dh, char *name, int namelen, doff_t offset)
dh                924 ufs/ufs/ufs_dirhash.c 	mtx_assert(&dh->dh_mtx, MA_OWNED);
dh                927 ufs/ufs/ufs_dirhash.c 	DIRHASH_ASSERT(dh->dh_hused < dh->dh_hlen, ("dirhash find full"));
dh                928 ufs/ufs/ufs_dirhash.c 	slot = ufsdirhash_hash(dh, name, namelen);
dh                929 ufs/ufs/ufs_dirhash.c 	while (DH_ENTRY(dh, slot) != offset &&
dh                930 ufs/ufs/ufs_dirhash.c 	    DH_ENTRY(dh, slot) != DIRHASH_EMPTY)
dh                931 ufs/ufs/ufs_dirhash.c 		slot = WRAPINCR(slot, dh->dh_hlen);
dh                932 ufs/ufs/ufs_dirhash.c 	if (DH_ENTRY(dh, slot) != offset)
dh                944 ufs/ufs/ufs_dirhash.c ufsdirhash_delslot(struct dirhash *dh, int slot)
dh                948 ufs/ufs/ufs_dirhash.c 	mtx_assert(&dh->dh_mtx, MA_OWNED);
dh                951 ufs/ufs/ufs_dirhash.c 	DH_ENTRY(dh, slot) = DIRHASH_DEL;
dh                954 ufs/ufs/ufs_dirhash.c 	for (i = slot; DH_ENTRY(dh, i) == DIRHASH_DEL; )
dh                955 ufs/ufs/ufs_dirhash.c 		i = WRAPINCR(i, dh->dh_hlen);
dh                956 ufs/ufs/ufs_dirhash.c 	if (DH_ENTRY(dh, i) == DIRHASH_EMPTY) {
dh                957 ufs/ufs/ufs_dirhash.c 		i = WRAPDECR(i, dh->dh_hlen);
dh                958 ufs/ufs/ufs_dirhash.c 		while (DH_ENTRY(dh, i) == DIRHASH_DEL) {
dh                959 ufs/ufs/ufs_dirhash.c 			DH_ENTRY(dh, i) = DIRHASH_EMPTY;
dh                960 ufs/ufs/ufs_dirhash.c 			dh->dh_hused--;
dh                961 ufs/ufs/ufs_dirhash.c 			i = WRAPDECR(i, dh->dh_hlen);
dh                963 ufs/ufs/ufs_dirhash.c 		DIRHASH_ASSERT(dh->dh_hused >= 0, ("ufsdirhash_delslot neg hlen"));
dh               1007 ufs/ufs/ufs_dirhash.c 	struct dirhash *dh;
dh               1015 ufs/ufs/ufs_dirhash.c 		if ((dh = TAILQ_FIRST(&ufsdirhash_list)) == NULL) {
dh               1019 ufs/ufs/ufs_dirhash.c 		DIRHASH_LOCK(dh);
dh               1020 ufs/ufs/ufs_dirhash.c 		DIRHASH_ASSERT(dh->dh_hash != NULL, ("dirhash: NULL hash on list"));
dh               1023 ufs/ufs/ufs_dirhash.c 		if (--dh->dh_score > 0) {
dh               1024 ufs/ufs/ufs_dirhash.c 			DIRHASH_UNLOCK(dh);
dh               1030 ufs/ufs/ufs_dirhash.c 		TAILQ_REMOVE(&ufsdirhash_list, dh, dh_list);
dh               1031 ufs/ufs/ufs_dirhash.c 		dh->dh_onlist = 0;
dh               1032 ufs/ufs/ufs_dirhash.c 		hash = dh->dh_hash;
dh               1033 ufs/ufs/ufs_dirhash.c 		dh->dh_hash = NULL;
dh               1034 ufs/ufs/ufs_dirhash.c 		blkfree = dh->dh_blkfree;
dh               1035 ufs/ufs/ufs_dirhash.c 		dh->dh_blkfree = NULL;
dh               1036 ufs/ufs/ufs_dirhash.c 		narrays = dh->dh_narrays;
dh               1037 ufs/ufs/ufs_dirhash.c 		mem = narrays * sizeof(*dh->dh_hash) +
dh               1038 ufs/ufs/ufs_dirhash.c 		    narrays * DH_NBLKOFF * sizeof(**dh->dh_hash) +
dh               1039 ufs/ufs/ufs_dirhash.c 		    dh->dh_nblk * sizeof(*dh->dh_blkfree);
dh               1042 ufs/ufs/ufs_dirhash.c 		DIRHASH_UNLOCK(dh);