UF_FIXING
if (!set_state(f, UF_FIXING)) {
case UF_FIXING:
ASSERT(f->uf_s & (UF_LOCKED | UF_FIXING));
ASSERT(s & (UF_TRYLCK | UF_LOCKED | UF_UMOUNT | UF_FIXING));
case UF_FIXING:
case UF_FIXING:
ASSERT(s & UF_FIXING);
if (!(s & UF_FIXING) && dfs->fs_clean == FSFIX) {
if (!set_state(f, UF_FIXING)) {
if ((s & UF_FIXING) && ((dfs->fs_clean == FSBAD) || !fsck_active(f))) {
if ((s & UF_FIXING) && dfs->fs_clean == FSFIX) {
} else if (!(f->uf_s & (UF_LOCKED | UF_FIXING))) {
state = error == EBUSY? UF_LOCKED: UF_FIXING;
ASSERT(f->uf_s & UF_FIXING);
UF_TRYLCK | UF_FIXING, { 0, 0, 0 } },
{ UF_FIXING, "being fixed", sf_nonterm_cmn,
UF_FIXING, { 1, 0, 0 } },
UF_QUEUE | UF_TRYLCK | UF_LOCKED | UF_UMOUNT | UF_FIXING,
if (!(f->uf_s & UF_FIXING)) {
if (!set_state(f, UF_FIXING)) {