mbox series

[0/3] cachefiles, afs: mm wait fixes

Message ID 161650040278.2445805.7652115256944270457.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series cachefiles, afs: mm wait fixes | expand

Message

David Howells March 23, 2021, 11:53 a.m. UTC
Here are some patches to fix page waiting-related issues in cachefiles and
afs[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 here (presumably commit
     c2407cf7d22d0c0d94cf20342b3b8f06f1d904e7).

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

     Note that I modified this to work with the upstream code where the
     page pointer isn't cached in a local variable.

The patches can be found here:

	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=afs-fixes

David

Link: https://lore.kernel.org/r/20210320054104.1300774-1-willy@infradead.org[1]

---
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 +--
 include/linux/pagemap.h |  1 +
 mm/page-writeback.c     | 16 ++++++++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

Comments

Matthew Wilcox March 23, 2021, 12:08 p.m. UTC | #1
On Tue, Mar 23, 2021 at 11:53:22AM +0000, David Howells wrote:
> 
> Here are some patches to fix page waiting-related issues in cachefiles and
> afs[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 here (presumably commit
>      c2407cf7d22d0c0d94cf20342b3b8f06f1d904e7).
> 
>  (3) In afs, use the function added in (2) rather than using
>      wait_on_page_bit_killable() which doesn't have the aforementioned
>      bugfix.
> 
>      Note that I modified this to work with the upstream code where the
>      page pointer isn't cached in a local variable.

Thanks, the minor modifications to the patches (changelogs, fixes to apply
to upstream) all look good to me.