| persistence_io_format#(VOLSIZE, SIZE, LPT, INDEXADR0, MAXINO0; SB, PAGESIZE, LEBSIZE, AVOL; LOGOFF, ERR) {if VOLSIZE = # LPT ∧ SIZE = LEB_SIZE then let N = 5 + 2 * lptlebs(VOLSIZE, SIZE) in {ebm_avol_format#(VOLSIZE + N; ; AVOL, ERR); if ERR ≠ ESUCCESS then debug#("persistence-io: ubi format failed"); if ERR = ESUCCESS then ebm_avol_get_leb_size#(AVOL; ; LEBSIZE); SB.indexaddr := INDEXADR0; SB.maxino := MAXINO0; SB.log := SB_LOG; SB.orph := SB_ORPH; SB.orphsize := 0; SB.lpt := SB_LPT; SB.main := N; if ERR = ESUCCESS then ebm_avol_get_page_size#(AVOL; ; PAGESIZE); if ERR = ESUCCESS then ebm_avol_remap#(SB.log; AVOL; ERR); if ERR = ESUCCESS then ebm_avol_remap#(SB.orph; AVOL; ERR); if ERR = ESUCCESS then let BUF = ? in {persistence_io_encode_lpt#(LPT, LEBSIZE; ; BUF, ERR); if ERR = ESUCCESS then persistence_io_write_lebs#(SB.lpt, lptlebs(VOLSIZE, LEBSIZE), BUF, LEBSIZE; AVOL; ERR)}; if ERR = ESUCCESS then persistence_io_write_superblock#(SB, PAGESIZE, LEBSIZE; AVOL; ERR); LOGOFF := LEBSIZE} else abort } |