| vfs_writemeta#(PATH, MD, USER; ERR, DIRS, FILES, ASYNCED) {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 pw(USER, INODE.meta) then {INODE.meta := MD; afs_check_commit#(DIRS, FILES; ERR; ASYNCED); if ERR = ESUCCESS then afs_write_inode#(INODE; ERR, DIRS, FILES; ASYNCED)} else ERR := EACCESS}} } |