[GIT PULL] cachefiles, afs: mm wait fixes

From: David Howells
Date: Wed Mar 24 2021 - 04:22:50 EST


Hi Linus,

Could you pull these patches from Matthew Wilcox to fix page
waiting-related issues in cachefiles and afs as extracted from his folio
series[1]:

(1) In cachefiles, remove the use of the wait_bit_key struct to access
something that's actually in wait_page_key format. The proper struct
is now available in the header, so that should be used instead.

(2) Add a proper wait function for waiting killably on the page writeback
flag. This includes a recent bugfix[2] that's not in the afs code.

(3) In afs, use the function added in (2) rather than using
wait_on_page_bit_killable() which doesn't provide the aforementioned
bugfix.

Notes:

- I've included these together since they are an excerpt from a patch
series of Willy's, but I can send the first separately from the other
two if you'd prefer since they touch different modules.

- The cachefiles patch could be deferred to the next merge window as
whichever compiler is used probably *should* generate the same code for
both structs, even with struct randomisation turned on.

- AuriStor (auristor.com) have added certain of my branches to their
automated AFS testing, hence the Tested-by kafs-testing@xxxxxxxxxxxx tag
on the patches in this set. Is this the best way to represent this?

David

Link: https://lore.kernel.org/r/20210320054104.1300774-1-willy@xxxxxxxxxxxxx[1]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c2407cf7d22d0c0d94cf20342b3b8f06f1d904e7 [2]
Link: https://lore.kernel.org/r/20210323120829.GC1719932@xxxxxxxxxxxxxxxxxxxx/ # v1

---
The following changes since commit 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b:

Linux 5.12-rc4 (2021-03-21 14:56:43 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-cachefiles-fixes-20210323

for you to fetch changes up to 75b69799610c2b909a18e709c402923ea61aedc0:

afs: Use wait_on_page_writeback_killable (2021-03-23 20:54:37 +0000)

----------------------------------------------------------------
cachefiles, afs: mm wait fixes

----------------------------------------------------------------
Matthew Wilcox (Oracle) (3):
fs/cachefiles: Remove wait_bit_key layout dependency
mm/writeback: Add wait_on_page_writeback_killable
afs: Use wait_on_page_writeback_killable

fs/afs/write.c | 3 +--
fs/cachefiles/rdwr.c | 7 +++----
include/linux/pagemap.h | 2 +-
mm/page-writeback.c | 16 ++++++++++++++++
4 files changed, 21 insertions(+), 7 deletions(-)