| afs_evict#(INODE, ASYNCED; ERR, DIRS, FILES) {if pre-evict(INODE, DIRS, FILES) then {ERR := ESUCCESS; let INO = INODE.ino in if INO ∈ DIRS then if DIRS[INO].nlink = 0 then DIRS := DIRS -- INO else if FILES[INO].nlink = 0 then FILES := FILES -- INO} else abort } |