| err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-link(path, path', err, user, root, fs, ofh) ⊦ ⟪if err = ESUCCESS then let fid = root[path].fid in root[path'] := fnode(fid); psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh)) |
err = ESUCCESS, err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-link(path, path', err, user, root, fs, ofh) ⊦ ⟪let fid = root[path].fid in root[path'] := fnode(fid); psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh))
err0 = err1, root.dir?, fids-cons(root, fs, ofh), pre-link(path, path', err, user, root, fs, ofh) ⊦ ⟪skip; psynced := ?⟫ (root.dir? ∧ fids-cons(root, fs, ofh)), err = ESUCCESS