| cache_iget#(INO, DIRS, FILES, ASYNCED; INODE, ERR, ICACHE) {if pre-iget(INO, DIRS, FILES) then let HIT = false, DIRTY = false in {icache_get#(INO, ICACHE; HIT, INODE, ERR); if ¬ HIT ∨ ERR ≠ ESUCCESS then {afs_iget#(INO, DIRS, FILES, ASYNCED; INODE, ERR); if ERR = ESUCCESS then icache_set#(INODE, DIRTY; ERR, ICACHE)}} else abort } |