| VFS_PAGE_SIZE = n0 + m2 % VFS_PAGE_SIZE, files0[ino0] = mkfile(m2, md0, # links(ino0, dirs), content0), files = files1, files1 = files0 [ino0, mkfile(m2, md0, # links(ino0, dirs), content0[m2 / VFS_PAGE_SIZE, fill(content0[m2 / VFS_PAGE_SIZE], zero, m2 % VFS_PAGE_SIZE, n0)] upto m2) ], ino = inode.ino, inode = mkinode(ino0, md0, false, # links(ino0, dirs), 0, m2), inode0 = mkinode(ino0, md0, false, # links(ino0, dirs), 0, m2), afs-cons(dirs, files0), ino0 ∈ files0, m2 / VFS_PAGE_SIZE ∈ content0, ino ∈ files ⊦ [err := ESUCCESS; asynced := ?] ( files0 ~ files[ino, files[ino].size:= inode.size][ino, files[ino, files[ino].size:= inode.size][ino].meta:= inode.meta] ∧ (⌊err⌋ ∨ err = ESUCCESS)), m2 % VFS_PAGE_SIZE = 0 |
VFS_PAGE_SIZE = n0 + m2 % VFS_PAGE_SIZE, files0[ino0] = mkfile(m2, md0, # links(ino0, dirs), content0), files = files1, files1 = files0 [ino0, mkfile(m2, md0, # links(ino0, dirs), content0[m2 / VFS_PAGE_SIZE, fill(content0[m2 / VFS_PAGE_SIZE], zero, m2 % VFS_PAGE_SIZE, n0)] upto m2) ], ino = inode.ino, inode = mkinode(ino0, md0, false, # links(ino0, dirs), 0, m2), inode0 = mkinode(ino0, md0, false, # links(ino0, dirs), 0, m2), afs-cons(dirs, files0), ino ∈ files, m2 / VFS_PAGE_SIZE ∈ content0, ino0 ∈ files0 ⊦ [asynced := ?] ( files0 ~ files[ino, files[ino].size:= inode.size][ino, files[ino, files[ino].size:= inode.size][ino].meta:= inode.meta] ∧ (⌊ESUCCESS⌋ ∨ ESUCCESS = ESUCCESS)), m2 % VFS_PAGE_SIZE = 0