| # links(m, dirs) = dirs[m].nlink, dirs[m] = mkdir(dirs[m].size, md1, dirs[m].nlink, dirs[m].nsubdirs, entries), dent = negdentry(str), p_inode = mkinode(m, md0, true, dirs[m].nlink, dirs[m].nsubdirs, dirs[m].size), afs-cons(dirs, files), m ∈ dirs, links(m, dirs) ≠ ∅ ∨ m = ROOT_INO ⊦ ⟪fail#(; ; err); asynced := ?⟫ afs-cons(dirs, files), str ∈ dirs[m].entries, str ∈ entries |
# links(m, dirs) = dirs[m].nlink, dirs[m] = mkdir(dirs[m].size, md1, dirs[m].nlink, dirs[m].nsubdirs, entries), dent = negdentry(str), p_inode = mkinode(m, md0, true, dirs[m].nlink, dirs[m].nsubdirs, dirs[m].size), afs-cons(dirs, files), m ∈ dirs, links(m, dirs) ≠ ∅ ∨ m = ROOT_INO ⊦ ⟪choose err0 with ⌊err0⌋ in err := err0; asynced := ?⟫ afs-cons(dirs, files), str ∈ entries, str ∈ dirs[m].entries
Used simplifier rules: fail#(; ; ERR){choose ERR0 with ⌊ERR0⌋ in ERR := ERR0};