Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > - op->store.i_size = max(pos + size, i_size); > > + op->store.i_size = max(pos + size, ictx->remote_i_size); > > Ahh ok, so if i_size is larger than is represented by this write, you'll > have a zeroed out region until writeback catches up. Makes sense. That's the way it was working. With this change, we track the server's idea of the file size separately from our local inode->i_size (which is updated by the modifications into the pagecache) and only expand the server's setting to the end of the data we're storing, not to our local i_size. I'm trying to avoid zeroed-out regions appearing in the file. Forcible expansion by truncate is a different matter. David