AFS - Andrew File System (Distributed File System)
Several ideas
-
it has local disk
-
it cache whole file
-
it flush upon close
-
read/write on local side
-
open/close -> send server data
-
Update Visibility
Solution: 1. flush on close 2. last writer wins
-
Stale Cache
Solution: tell client when the data is overwritten. ask callback when client cache data. no longer stateless.
Version 2
client cache entries and inodes for file
- Example
Error Handling
- Client crash
-
evict everything
-
recheck before using
-
Low server memory
tell clients and client mark the file as recheck
-
Server crash
-
tell clients to recheck
-
persist callbacks
AFS vs NFS