[PATCH v2 19/19] afs: Maintain netfs_i_context::remote_i_size

David Howells dhowells at redhat.com
Wed Mar 9 14:35:01 PST 2022


Jeff Layton <jlayton at kernel.org> 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




More information about the linux-afs mailing list