| cache_evict#(INODE, ASYNCED; ERR, DIRS, FILES, ICACHE, PCACHE) {if pre-evict(INODE, DIRS, FILES) then let DIRP = INODE.directory in {afs_evict#(INODE, ASYNCED; ERR, DIRS, FILES); if ERR = ESUCCESS ∧ INODE.nlink = 0 then {icache_delete#(INODE.ino; ERR, ICACHE); if ¬ DIRP then pcache_evict#(INODE.ino; ERR, PCACHE)}} else abort } |