| aubi_io_sync_erase#(PNUM; APEBS; ERR) {if ubi-io-erase-pre(PNUM, APEBS) then {fail_or_success#(; ; ERR); if ERR = ESUCCESS then APEBS[PNUM] := mkpeb(empty, empty, mkempbuf(LEB_SIZE), 0, false) else {choose APEB with ubi-io-peb-inv(APEB) ∧ ¬ APEB.bad ∧ ¬ APEB.vidhdr.valid? in APEBS[PNUM] := APEB or skip}} else abort } |