| vfs_readmeta#(PATH, USER, DIRS, FILES, ASYNCED; MD, NLINK, SIZE, ERR) {let INO = ROOT_INO in {vfs_walk#(PATH, USER, DIRS, FILES, ASYNCED; INO, ERR); if ERR = ESUCCESS then choose INODE with true in {afs_iget#(INO, DIRS, FILES, ASYNCED; INODE, ERR); if ERR = ESUCCESS then if pr(USER, INODE.meta) then {MD := INODE.meta, SIZE := INODE.size; if INODE.directory then NLINK := INODE.nsubdirs + 2 else NLINK := INODE.nlink} else ERR := EACCESS}} } |