On Mon, Jun 14, 2021 at 04:38:21PM +0100, David Howells wrote: > Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > - ASSERT(PageUptodate(page)); > > > - > > > if (PagePrivate(page)) { > > > priv = page_private(page); > > > f = afs_page_dirty_from(page, priv); > > > > Why are you removing this assertion? Does AFS now support dirty, > > partially-uptodate pages? If so, a subsequent read() to that > > page is going to need to be careful to only read the parts of the page > > from the server that haven't been written ... > > Because the previous hunk in the patch: > > + if (!PageUptodate(page)) { > + if (copied < len) { > + copied = 0; > + goto out; > + } > + > + SetPageUptodate(page); > + } > > means you can't get there unless PageUptodate() is true by that point. Isn't the point of an assertion to check that this is true?