| files1[ino].meta = md, files = files1, inode = mkinode(ino, files1[ino].meta, false, m, n0, m0 + n), pre-write-inode(inode, dirs, files), write-inv(n0, n1, mkinode(ino, files1[ino].meta, false, m, n0, m0), buf, n, dirs, files0, files1), ino ∈ files1 ⊦ [if inode.directory then dirs[inode.ino].meta := inode.meta else {files[inode.ino].meta := inode.meta; files[inode.ino].size := inode.size}; err := ESUCCESS; asynced := ?; if err = ESUCCESS then files0[ino].size := m0 + n] write-inv(n0, n1, mkinode(ino, md, false, m, n0, files0[ino].size), buf, n, dirs, files0, files) |
files1[ino].meta = md, files = files1, inode = mkinode(ino, files1[ino].meta, false, m, n0, m0 + n), pre-write-inode(inode, dirs, files), write-inv(n0, n1, mkinode(ino, files1[ino].meta, false, m, n0, m0), buf, n, dirs, files0, files1), ino ∈ files1 ⊦ [files[inode.ino].meta := inode.meta; files[inode.ino].size := inode.size; err := ESUCCESS; asynced := ?; if err = ESUCCESS then files0[ino].size := m0 + n] write-inv(n0, n1, mkinode(ino, md, false, m, n0, files0[ino].size), buf, n, dirs, files0, files)
Used simplifier rules: ⊦ mkinode(m, md, boolvar, m0, m1, m2).directory ↔ boolvar; (s)