> In the case of read cache (which is probably going to be used more
> often than write-cache), the client needs to send two RPC every time
> a writer modifies the cached file. What if Rlease doesn't necessary
> break the lease, but have an option (negotiated in Tcache) to let the
> client know that the file is changed without breaking the lease.
That breaks single-copy semantics: A client may have acted on data after
it had been changed by somebody else. Say, A and B are sharing the file.
B has a read-lease on the file, A obtains a write lease, modifies the file
and sends a message to A to read what was changed. A reads the file (which
is still in the cache and has not been updated). Meanwhile, just after B
obtained the write lease, the server notifies A that the lease is expiring
early, but this message travels slowly and doesn't arrive until the whole
exchange is over.
Sape