| aubifs_core_journal_add2#(ND1, ND2, RI, FI, RO, FO; ADR1, ADR2, FS, LOG; CSYNCED, ERR) {if ri-cons(RI, FS) ∧ node-cons(ND1.key, ND1) ∧ node-cons(ND2.key, ND2) then { choose adr1, adr2 with new(adr1 ' + adr2 ', FS) ∧ ¬ dups(adr1 ' + adr2 ') in {ADR1 := adr1, ADR2 := adr2; FS := FS[ADR1, ND1][ADR2, ND2], LOG := (LOG + ADR1) + ADR2, ERR := ESUCCESS} ifnone ERR := ENOSPC or {fail#(; ; ERR); ADR1 := ?, ADR2 := ?}; CSYNCED := ?} else abort } |