| files[m] = mkfile(m1, md0, # links(m, dirs), content), afs-cons(dirs, files), m ∈ files, n1 ≤ # buf + n0, n0 + n ≤ n1, n ≤ # buf ⊦ ⟪let isdir = false in {inode := mkinode(m, md, false, # links(m, dirs), 0, m2); while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(n0, inode, buf, n1, dirs; n, isdir, err, files, asynced)}⟫ (m ∈ files ∧ # links(m, dirs) = files[m].nlink) |
isdir ↔ false, files[m] = mkfile(m1, md0, # links(m, dirs), content), afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪inode := mkinode(m, md, false, # links(m, dirs), 0, m2); while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(n0, inode, buf, n1, dirs; n, isdir, err, files, asynced)⟫ (m ∈ files ∧ # links(m, dirs) = files[m].nlink)