| pcache[datakey(m, n)] = mkpentry(boolvar, buf), ¬ boolvar, n * VFS_PAGE_SIZE < m2, datakey(m, n) ∈ pcache, ino0 ∈ files0, ∀ ino. ino ≠ m ∧ ino ∈ files0 → mkfile(files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache)) = mkfile(files0[ino].size, files0[ino].meta, files0[ino].nlink, files0[ino].content ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files ⊦ ino0 = m, mkfile(files[ino0].size, files[ino0].meta, files[ino0].nlink, files[ino0].content ⊕ mkcontent(ino0, pcache)) = mkfile(files0[ino0].size, files0[ino0].meta, files0[ino0].nlink, files0[ino0].content ⊕ mkcontent(ino0, pcache0)) ∧ ino0 ∈ files |
pcache[datakey(m, n)] = mkpentry(false, buf), n * VFS_PAGE_SIZE < m2, ino0 ∈ files0, datakey(m, n) ∈ pcache, ∀ ino. ino ≠ m ∧ ino ∈ files0 → mkfile(files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache)) = mkfile(files0[ino].size, files0[ino].meta, files0[ino].nlink, files0[ino].content ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files ⊦ ino0 = m, mkfile(files[ino0].size, files[ino0].meta, files[ino0].nlink, files[ino0].content ⊕ mkcontent(ino0, pcache)) = mkfile(files0[ino0].size, files0[ino0].meta, files0[ino0].nlink, files0[ino0].content ⊕ mkcontent(ino0, pcache0)) ∧ ino0 ∈ files