| ⟨fail#(; ; err)⟩ (err = err2), asynced ↔ asynced0, dirs1[pageno] = mkdir(m, md, m0, m1, entries), dent = old_dent, dirs = dirs1, err2 = err1, files = files1, p_ino = pageno, pageno ∈ dirs1, links(pageno, dirs1) ≠ ∅ ∨ pageno = ROOT_INO ⊦ ∃ err0. ⌊err0⌋ ∧ ⟨err := err0⟩ (dent = old_dent ∧ err = err1), ⟨if dent.name ∈ entries then {dent := mkdentry(dent.name, entries[dent.name]); err := ESUCCESS} else {dent := negdentry(dent.name); err := ENOENT}⟩ (dent = old_dent ∧ err = err1) |
⟨fail#(; ; err)⟩ (err = err1), dirs1[pageno] = mkdir(m, md, m0, m1, entries), dent = old_dent, pageno ∈ dirs1, links(pageno, dirs1) ≠ ∅ ∨ pageno = ROOT_INO ⊦ ∃ err0. ⌊err0⌋ ∧ ⟨err := err0⟩ (err = err1), ⟨if old_dent.name ∈ entries then {dent := mkdentry(dent.name, entries[dent.name]); err := ESUCCESS} else {dent := negdentry(dent.name); err := ENOENT}⟩ (dent = old_dent ∧ err = err1)