My specific use case is implementing copy on write in my gridfs driver.
I would like to update some chunks in a very large file and then use filemd5 to hash just the chunks that I wrote. I could then compare that hash to the hash of the chunks that I have written to in memory to make sure the entire write succeeded. If the hashes match, I would make them permanent. Otherwise, I would roll back the write.
As you can see, I don't really have a performant workaround for this particular use case... My only option is to filemd5 the entire file, which is inefficient.