| err = ESUCCESS, inode = mkinode(m, md, boolvar, m0, m1, m2), ¬ isdir, afs-cons(dirs, files), m ∈ files, n1 ≤ # buf + n0, n0 + n ≤ n1, n0 + n ≤ m2, n ≤ # buf ⊦ ⟪while err = ESUCCESS ∧ ¬ isdir do vfs_read_block#(n0, n1, inode, dirs, files, asynced; buf, n, isdir, err)⟫ true |
err = ESUCCESS, inode = mkinode(m, md, boolvar, m0, m1, m2), ¬ isdir, afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ m2, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪vfs_read_block#(n0, n1, inode, dirs, files, asynced; buf, n, isdir, err); while err = ESUCCESS ∧ ¬ isdir do vfs_read_block#(n0, n1, inode, dirs, files, asynced; buf, n, isdir, err)⟫ true