(Illustration by Gaich Muramatsu)
On Wed, Oct 27, 2010 at 02:05:48PM -0400, Phil Nelson wrote: > Jan has suggested changing venus to check and see if a file that > was closed had changed by storing a hash of each file and recomputing > that hash at close time. If the hashes match, then the file is > unchanged and not sent back to the server. This would allow unchanged > files to not be send on any use of venus, not just on Windows. > > Neither change has been made to venus and one of the two changes is > required to be able to start the change to the Coda Kernel Module for > Windows. It isn't as simple as just adding hashes, there is an interaction with potentially pending write operations in the modification log that are removed when we reintegrate while the file is open for writing. So there has to be some care taken to weave this correctly around CML store optimization logic to avoid losing data. But having a valid hash for any not-currently-owrite file would have several other benefits, such as improving reliability and performance of lookaside caching and revalidation of cached data after f.i. a system crash. A disadvantage is the noticable performance hit when closing a file that was open for writing. JanReceived on 2010-10-27 14:25:28