| ((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), ino ∈ icache, ino0 ∈ files, ino ∈ files, ino0 ∈ icache ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = ((files ⊕ pcache[datakey(ino, m), mkpentry(true, buf)]) ⊕ icache)[ino0], ino0 = ino |
⊦ ino ∈ icache ∧ ¬ icache[ino].inode.directory → (files ⊕ icache)[ino] = mkfile(icache[ino].inode.size, icache[ino].inode.meta, icache[ino].inode.nlink, files[ino].content)
((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), ino0 ∈ icache, ino ∈ files, ino0 ∈ files, ino ∈ icache ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = ((files ⊕ pcache[datakey(ino, m), mkpentry(true, buf)]) ⊕ icache)[ino0], ino0 = ino, ino0 ∈ icache ∧ ¬ icache[ino0].inode.directory
((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), ino ∈ files, ino0 ∈ files, ino ∈ icache, ino0 ∈ icache ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = mkfile (icache[ino0].inode.size, icache[ino0].inode.meta, icache[ino0].inode.nlink, (files ⊕ pcache[datakey(ino, m), mkpentry(true, buf)])[ino0].content), ino0 = ino, icache[ino0].inode.directory
Used terms: ino0, icache, files ⊕ pcache[datakey(ino, m), mkpentry(true, buf)]