| ebm_vol_write#(LNUM, OFFSET, N0, N, BUF, VOLID; AVOLS; ERR) {if LNUM < # AVOLS[VOLID] ∧ OFFSET + N ≤ LEB_SIZE ∧ is-aligned(OFFSET, EB_PAGE_SIZE) ∧ is-aligned(N, EB_PAGE_SIZE) ∧ N + N0 ≤ # BUF ∧ (AVOLS[VOLID][LNUM].mapped? → OFFSET ≥ AVOLS[VOLID][LNUM].fill) then ebm_write#(VOLID, LNUM, OFFSET, N0, N, BUF; AVOLS; ERR) else abort } |