[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YNCnSQyKWqV8SkRs@casper.infradead.org>
Date: Mon, 21 Jun 2021 15:50:49 +0100
From: Matthew Wilcox <willy@...radead.org>
To: David Howells <dhowells@...hat.com>
Cc: linux-cachefs@...hat.com, linux-afs@...ts.infradead.org,
Andrew W Elble <aweits@....edu>,
Jeff Layton <jlayton@...nel.org>, ceph-devel@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 3/3] netfs: fix test for whether we can skip read when
writing beyond EOF
On Thu, Jun 17, 2021 at 09:24:27AM +0100, David Howells wrote:
> From: Jeff Layton <jlayton@...nel.org>
>
> It's not sufficient to skip reading when the pos is beyond the EOF.
> There may be data at the head of the page that we need to fill in
> before the write.
>
> Add a new helper function that corrects and clarifies the logic of
> when we can skip reads, and have it only zero out the part of the page
> that won't have data copied in for the write.
>
> Finally, don't set the page Uptodate after zeroing. It's not up to date
> since the write data won't have been copied in yet.
>
> [DH made the following changes:
>
> - Prefixed the new function with "netfs_".
>
> - Don't call zero_user_segments() for a full-page write.
>
> - Altered the beyond-last-page check to avoid a DIV instruction and got
> rid of then-redundant zero-length file check.
> ]
>
> Fixes: e1b1240c1ff5f ("netfs: Add write_begin helper")
> Reported-by: Andrew W Elble <aweits@....edu>
> Signed-off-by: Jeff Layton <jlayton@...nel.org>
> Signed-off-by: David Howells <dhowells@...hat.com>
> cc: ceph-devel@...r.kernel.org
> Link: https://lore.kernel.org/r/20210613233345.113565-1-jlayton@kernel.org/
> Link: https://lore.kernel.org/r/162367683365.460125.4467036947364047314.stgit@warthog.procyon.org.uk/ # v1
Reviewed-by: Matthew Wilcox (Oracle) <willy@...radead.org>
Powered by blists - more mailing lists