| files[m] = mkfile(m1, md0, # links(m, dirs), content), ino = n, ino0 = n1, ino1 = n0, inode = mkinode(m, md, false, # links(m, dirs), 0, m2), afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪let isdir = false in while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(ino1, inode, buf, ino0, dirs; ino, isdir, err, files, asynced)⟫ (m ∈ files ∧ # links(m, dirs) = files[m].nlink) |
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)