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);