next up previous
Next: Write Operations Up: Future Work Previous: Readdir-ahead

Disconnected operation

Another interesting issue with reading (and also with writing) is ``disconnected'' operation, similar to what the Coda filesystem provides. If all the remote files in our working set are cached on our local disk, then we can potentially continue to operate on these files even if the server is unavailable. Some memory-based implementations (HPUX at least) do allow this to happen.

Our current implementation relies on the directory structure from the server completely; all uncached lookup calls go to the server. To support disconnected operation, we would have to support the lookup operation without contacting the server every 3 to 5 seconds. Additionally, we would have to relax the rules concerning periodically querying the server for the current attributes of a cached file to see if it has changed and needs to be invalidated. Running disconnected, we would simply assume that cached data has not changed, so we can continue to read from the cache. This is only conservatively safe if the partition is read-only to all hosts while any host is disconnected.

Greg Badros