| btree_entries#(KEY, RP, ADR0, ROOTADR, ISTORE, ISTORE0, GINVAL, GSTORE, GSTORE0, NL, MAXINO, OS, PSTATE, PSYNCED; R, DONE, NAMES, ZH; ERR) {btree_io_load#(RP, ADR0, ROOTADR, ISTORE, ISTORE0, GINVAL, GSTORE, GSTORE0, NL, MAXINO, OS, PSTATE, PSYNCED; R, ZH; ERR); if ERR = ESUCCESS then if ZH[R].leaf then let N = 0 in {btree_io_scan#(KEY, 0, R, ZH; N); while N < ZH[R].usedsize ∧ KEY.ino = ZH[R].zbranches[N].key.ino ∧ ZH[R].zbranches[N].key.dentry? do {NAMES := NAMES ++ ZH[R].zbranches[N].key.name; N := N + 1}; DONE := N < ZH[R].usedsize} else let N = 0 in {btree_io_scan#(KEY, 1, R, ZH; N); while N < ZH[R].usedsize ∧ ¬ DONE do let RC = ZH[R].zbranches[N].child, ADRC = ZH[R].zbranches[N].adr in {btree_entries# (KEY, R, ADRC, ROOTADR, ISTORE, ISTORE0, GINVAL, GSTORE, GSTORE0, NL, MAXINO, OS, PSTATE, PSYNCED; RC, DONE, NAMES, ZH; ERR); N := N + 1}} } |