| files[ino] = mkfile(m, md0, m0, content), old_ino = 0, old_ino0 = 0, afs-cons(dirs, files), ino ∈ files ⊦ [inode := mkinode(ino, md, false, m0, 0, n); buf-opt := none; afs_truncate_internal#(n, inode.size / VFS_PAGE_SIZE; inode, buf-opt, old_ino0, old_ino, asynced0, err, dirs, files; asynced)] (err = ESUCCESS → files[ino].content.stream from n = σ⊥) |
files[ino] = mkfile(m, md0, # links(ino, dirs), content), old_ino = 0, old_ino0 = 0, afs-cons(dirs, files), ino ∈ files ⊦ [inode := mkinode(ino, md, false, # links(ino, dirs), 0, n); buf-opt := none; afs_truncate_internal#(n, inode.size / VFS_PAGE_SIZE; inode, buf-opt, old_ino0, old_ino, asynced0, err, dirs, files; asynced)] (err = ESUCCESS → files[ino].content.stream from n = σ⊥)
Used simplifier rules: afs-cons-file-nlink: ⊦ afs-cons(dirs, files) ∧ ino ∈ files ∧ files[ino] = mkfile(m, md, n, content) → # links(ino, dirs) = n; (forward) from specification afs-base