| # buf = VFS_PAGE_SIZE, asynced ↔ false, pcache[datakey(m, n)] = mkpentry(true, buf), files0[m] = mkfile(m0, md, m1, content), err = ESUCCESS, ino = m, key = datakey(ino, pageno), pageno = n, (files0 ⊕ pcache) ⊕ icache = (files1 ⊕ pcache0) ⊕ icache, n * VFS_PAGE_SIZE < m2, pcache-cons(pcache0, dirs, files1), key ∈ pcache, m ∈ files0, datakey(m, n) ∈ pcache ⊦ (files1 ⊕ pcache0) ⊕ icache = (files0[m, mkfile(m0, md, m1, content[n, buf])] ⊕ pcache[key, mkpentry(asynced, pcache[key].page)]) ⊕ icache |
# buf = VFS_PAGE_SIZE, pcache[datakey(m, n)] = mkpentry(true, buf), files0[m] = mkfile(m0, md, m1, content), (files0 ⊕ pcache) ⊕ icache = (files1 ⊕ pcache0) ⊕ icache, n * VFS_PAGE_SIZE < m2, pcache-cons(pcache0, dirs, files1), m ∈ files0, datakey(m, n) ∈ pcache ⊦ (files1 ⊕ pcache0) ⊕ icache = (files0[m, mkfile(m0, md, m1, content[n, buf])] ⊕ pcache[datakey(m, n), mkpentry(false, buf)]) ⊕ icache
Used simplifier rules: ⊦ mkpentry(boolvar, buf).page = buf; (s)