[00/11] Remove AS_EIO and AS_ENOSPC

Message ID 20230109051823.480289-1-willy@infradead.org
Headers
Series Remove AS_EIO and AS_ENOSPC |

Message

Matthew Wilcox Jan. 9, 2023, 5:18 a.m. UTC
  Finish the work of converting every user to the "new" wb_err
infrastructure.  This will clash with Christoph's patch series to remove
folio_write_one(), so I'll redo this after that patch series goes in.

Matthew Wilcox (Oracle) (11):
  memory-failure: Remove comment referencing AS_EIO
  filemap: Remove filemap_check_and_keep_errors()
  f2fs: Convert f2fs_wait_on_node_pages_writeback() to errseq
  fuse: Convert fuse_flush() to use file_check_and_advance_wb_err()
  page-writeback: Convert folio_write_one() to use an errseq
  filemap: Convert filemap_write_and_wait_range() to use errseq
  filemap: Convert filemap_fdatawait_range() to errseq
  cifs: Remove call to filemap_check_wb_err()
  mm: Remove AS_EIO and AS_ENOSPC
  mm: Remove filemap_fdatawait_range_keep_errors()
  mm: Remove filemap_fdatawait_keep_errors()

 block/bdev.c            |   8 +--
 fs/btrfs/extent_io.c    |   6 +--
 fs/cifs/file.c          |   8 ++-
 fs/f2fs/data.c          |   2 +-
 fs/f2fs/node.c          |   4 +-
 fs/fs-writeback.c       |   7 +--
 fs/fuse/file.c          |   3 +-
 fs/jbd2/commit.c        |  12 ++---
 fs/xfs/scrub/bmap.c     |   2 +-
 include/linux/pagemap.h |  23 ++------
 mm/filemap.c            | 113 +++++++---------------------------------
 mm/memory-failure.c     |  28 ----------
 mm/page-writeback.c     |  17 +++---
 13 files changed, 51 insertions(+), 182 deletions(-)
  

Comments

Jeff Layton Jan. 9, 2023, 3:31 p.m. UTC | #1
On Mon, 2023-01-09 at 05:18 +0000, Matthew Wilcox (Oracle) wrote:
> Finish the work of converting every user to the "new" wb_err
> infrastructure.  This will clash with Christoph's patch series to remove
> folio_write_one(), so I'll redo this after that patch series goes in.
> 
> Matthew Wilcox (Oracle) (11):
>   memory-failure: Remove comment referencing AS_EIO
>   filemap: Remove filemap_check_and_keep_errors()
>   f2fs: Convert f2fs_wait_on_node_pages_writeback() to errseq
>   fuse: Convert fuse_flush() to use file_check_and_advance_wb_err()
>   page-writeback: Convert folio_write_one() to use an errseq
>   filemap: Convert filemap_write_and_wait_range() to use errseq
>   filemap: Convert filemap_fdatawait_range() to errseq
>   cifs: Remove call to filemap_check_wb_err()
>   mm: Remove AS_EIO and AS_ENOSPC
>   mm: Remove filemap_fdatawait_range_keep_errors()

>   mm: Remove filemap_fdatawait_keep_errors()
> 
>  block/bdev.c            |   8 +--
>  fs/btrfs/extent_io.c    |   6 +--
>  fs/cifs/file.c          |   8 ++-
>  fs/f2fs/data.c          |   2 +-
>  fs/f2fs/node.c          |   4 +-
>  fs/fs-writeback.c       |   7 +--
>  fs/fuse/file.c          |   3 +-
>  fs/jbd2/commit.c        |  12 ++---
>  fs/xfs/scrub/bmap.c     |   2 +-
>  include/linux/pagemap.h |  23 ++------
>  mm/filemap.c            | 113 +++++++---------------------------------
>  mm/memory-failure.c     |  28 ----------
>  mm/page-writeback.c     |  17 +++---
>  13 files changed, 51 insertions(+), 182 deletions(-)
> 

Now that I got my understanding straight about unseen errors, I think
this looks good. I think it'd be best to avoid advancing f_wb_err in
->flush operations but the rest of this looks fine.

You can add this to all but #4 (and that one should be easily fixable).

Reviewed-by: Jeff Layton <jlayton@kernel.org>
  
Christoph Hellwig Jan. 12, 2023, 8:30 a.m. UTC | #2
On Mon, Jan 09, 2023 at 05:18:12AM +0000, Matthew Wilcox (Oracle) wrote:
> Finish the work of converting every user to the "new" wb_err
> infrastructure.  This will clash with Christoph's patch series to remove
> folio_write_one(), so I'll redo this after that patch series goes in.

Based on the conflicts with the btrfs tree picking up the btrfs part
of this series I think the best way forward is:

 - I'll resubmit my series without the two btrfs patches and the final
   patch to move folio_write_one into jfs
 - that last patch will be delayed until 6.4 and rebased on top of
   your series

While this keeps folio_write_one/write_one_page around for one more
merge window it should entangle all the work nicely.  We'll just need
to watch out that no new users appear.