| err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-create(path, md, err, user, root, fs, ofh) ⊦ ⟪if err = ESUCCESS then choose fid with ¬ fid ∈ fs in {root[path] := fnode(fid); fs[fid] := mkfile(md, mkbuf(0))}; psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh)) |
err = ESUCCESS, err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-create(path, md, err, user, root, fs, ofh) ⊦ ⟪choose fid with ¬ fid ∈ fs in {root[path] := fnode(fid); fs[fid] := mkfile(md, mkbuf(0))}; psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh))
err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-create(path, md, err, user, root, fs, ofh) ⊦ ⟪skip; psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh)), err = ESUCCESS