| persistence_allocate_leb#(WROOTADR, WMAXINO, WLOG, WLPT, WORPHANS, WBUFLEB, AROFS; N, LPT, FREELIST, WVOL; ERR) {let AROFS0 = ? in {awbuf_is_readonly#(WROOTADR, WMAXINO, WLOG, WVOL, WLPT, WORPHANS, WBUFLEB, AROFS; ; AROFS0); if AROFS0 then ERR := EROFS else if FREELIST = [] then ERR := ENOSPC else {N := FREELIST.head; awbuf_remap#(N, WROOTADR, WMAXINO, WLOG, WLPT, WORPHANS, WBUFLEB, AROFS; WVOL; ERR); if ERR = ESUCCESS then {FREELIST := FREELIST.tail; LPT[N].size := 0; LPT[N].ref-size := 0}}} } |