| cache_link#(OLD_DENT; P_INODE, C_INODE, NEW_DENT, ERR, DIRS, FILES, ICACHE, DCACHE, ASYNCED) {if pre-link(P_INODE, C_INODE, OLD_DENT, NEW_DENT, DIRS, FILES) then {afs_link#(OLD_DENT; P_INODE, C_INODE, NEW_DENT, ERR, DIRS, FILES; ASYNCED); if ERR = ESUCCESS then let DIRTY = false in {icache_set#(P_INODE, DIRTY; ERR, ICACHE); icache_set#(C_INODE, DIRTY; ERR, ICACHE); dcache_set#(P_INODE.ino, NEW_DENT.name, NEW_DENT; ERR, DCACHE)}} else abort } |