| files[m] = mkfile(m1, md0, m3, content), m0 = m3, afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪vfs_write_loop#(n0, mkinode(m, md, false, m3, 0, m2), n1, buf, dirs; n, err, files, asynced)⟫ (m ∈ files ∧ m0 = files[m].nlink) |
files[m] = mkfile(m1, md0, # links(m, dirs), content), afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪vfs_write_loop#(n0, mkinode(m, md, false, # links(m, dirs), 0, m2), n1, buf, dirs; n, err, files, asynced)⟫ (m ∈ files ∧ # links(m, dirs) = files[m].nlink)
Used simplifier rules: afs-cons-file-nlink: ⊦ afs-cons(dirs, files) ∧ ino ∈ files ∧ files[ino] = mkfile(m, md, n, content) → # links(ino, dirs) = n; (forward) from specification afs-base