On Thu, Mar 22, 2012 at 3:57 PM, Tsz Wo Sze <szets...@yahoo.com> wrote: >> Do you think having the invariant that blocks are not mutated would >> significantly simply the design? > > No. As mentioned in my previous email and others, the complexity is in > hflush. Once we have hflush, append is straightforward.
I understand that append is a small delta once you have hflush, what I'm saying is that the overall design of the file system is significantly simplified if you can assume blocks are not mutated. Eg see the way truncate is going to interact with the current definition of visible length (it violates it). Resolving issues like that are non-trivial. Thanks, Eli