BH_LOCKED
F_SET(bhp, BH_LOCKED | BH_TRASH);
F_CLR(bhp, BH_LOCKED);
F_SET(bhp, BH_LOCKED);
F_CLR(bhp, BH_DIRTY | BH_LOCKED);
F_CLR(bhp, BH_LOCKED);
for (first = 1; F_ISSET(bhp, BH_LOCKED); first = 0) {
{ BH_LOCKED, "locked" },
if (bhp->ref != 0 || F_ISSET(bhp, BH_LOCKED))
if (bhp->ref != 0 || F_ISSET(bhp, BH_LOCKED)) {
!F_ISSET(bhp, BH_DIRTY) || F_ISSET(bhp, BH_LOCKED))