| vfs_create#(PATH, MD, USER; ERR, DIRS, FILES, ASYNCED) {if PATH = ε then ERR := EEXISTS else let INO = ROOT_INO, DENT = negdentry(PATH.last), PATH = parent(PATH), INODE = ?, C_INODE = ? in {vfs_walk#(PATH, USER, DIRS, FILES, ASYNCED; INO, ERR); if ERR = ESUCCESS then vfs_may_create#(INO, DENT, USER, DIRS, FILES, ASYNCED; INODE, ERR); if ERR = ESUCCESS then afs_check_commit#(DIRS, FILES; ERR; ASYNCED); if ERR = ESUCCESS then afs_create#(MD; INODE, C_INODE, DENT, ERR, DIRS, FILES; ASYNCED)} } |