| afs-cons(dirs, files), of-cons(of, dirs, files) ⊦ ⟪let ino = ROOT_INO, mode = MODE_W, pageno = 0, buf-opt = none, inode = ?, isdir0 = ? in {vfs_walk#(p, user, dirs, files, asynced; ino, err); if err = ESUCCESS then let isdir = false in vfs_may_open#(ino, isdir, mode, user, dirs, files, asynced; inode, err); if err = ESUCCESS then afs_check_commit#(dirs, files; err; asynced); if err = ESUCCESS then pageno := inode.size / VFS_PAGE_SIZE; if err = ESUCCESS then afs_truncate#(n, pageno; buf-opt, inode, isdir0, err, dirs, files, asynced)}⟫ (of-cons(of, dirs, files) ∧ afs-cons(dirs, files)) |
buf-opt = none, ino = ROOT_INO, mode = MODE_W, pageno = 0, afs-cons(dirs, files), of-cons(of, dirs, files) ⊦ ⟪vfs_walk#(p, user, dirs, files, asynced; ino, err); if err = ESUCCESS then let isdir = false in vfs_may_open#(ino, isdir, mode, user, dirs, files, asynced; inode, err); if err = ESUCCESS then afs_check_commit#(dirs, files; err; asynced); if err = ESUCCESS then pageno := inode.size / VFS_PAGE_SIZE; if err = ESUCCESS then afs_truncate#(n, pageno; buf-opt, inode, isdir0, err, dirs, files, asynced)⟫ (of-cons(of, dirs, files) ∧ afs-cons(dirs, files))