cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] return an ERR_PTR from __filemap_get_folio
Date: Wed, 18 Jan 2023 10:43:20 +0100	[thread overview]
Message-ID: <20230118094329.9553-1-hch@lst.de> (raw)

Hi all,

__filemap_get_folio and its wrappers can return NULL for three different
conditions, which in some cases requires the caller to reverse engineer
the decision making.  This is fixed by returning an ERR_PTR instead of
NULL and thus transporting the reason for the failure.  But to make
that work we first need to ensure that no xa_value special case is
returned and thus return the FGP_ENTRY flag.  It turns out that flag
is barely used and can usually be deal with in a better way.

Note that the shmem patches in here are non-trivial and need some
careful review and testing.

Diffstat
 fs/afs/dir.c             |   10 +++----
 fs/afs/dir_edit.c        |    2 -
 fs/afs/write.c           |    4 +-
 fs/btrfs/disk-io.c       |    2 -
 fs/btrfs/extent_io.c     |    2 +
 fs/ext4/inode.c          |    2 -
 fs/ext4/move_extent.c    |    8 ++---
 fs/gfs2/lops.c           |    2 +
 fs/hugetlbfs/inode.c     |    2 -
 fs/iomap/buffered-io.c   |    6 ++--
 fs/netfs/buffered_read.c |    4 +-
 fs/nilfs2/page.c         |    6 ++--
 include/linux/pagemap.h  |    4 +-
 include/linux/shmem_fs.h |    1 
 mm/filemap.c             |   27 ++++++++-----------
 mm/folio-compat.c        |    4 +-
 mm/huge_memory.c         |    5 +--
 mm/memcontrol.c          |    2 -
 mm/mincore.c             |    2 -
 mm/shmem.c               |   64 +++++++++++++++++++----------------------------
 mm/swap_state.c          |   17 ++++++------
 mm/swapfile.c            |    4 +-
 mm/truncate.c            |   15 +++++------
 23 files changed, 93 insertions(+), 102 deletions(-)


             reply	other threads:[~2023-01-18  9:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-18  9:43 Christoph Hellwig [this message]
2023-01-18  9:43 ` [Cluster-devel] [PATCH 1/9] mm: don't look at xarray value entries in split_huge_pages_in_file Christoph Hellwig
2023-01-18 13:47   ` Matthew Wilcox
2023-01-18  9:43 ` [Cluster-devel] [PATCH 2/9] mm: make mapping_get_entry available outside of filemap.c Christoph Hellwig
2023-01-18 13:49   ` Matthew Wilcox
2023-01-18  9:43 ` [Cluster-devel] [PATCH 3/9] mm: use filemap_get_entry in filemap_get_incore_folio Christoph Hellwig
2023-01-18 13:49   ` Matthew Wilcox
2023-01-18  9:43 ` [Cluster-devel] [PATCH 4/9] shmem: remove shmem_get_partial_folio Christoph Hellwig
2023-01-18 13:57   ` Brian Foster
2023-01-18 16:43     ` Christoph Hellwig
2023-01-18 16:50       ` Brian Foster
2023-01-18  9:43 ` [Cluster-devel] [PATCH 5/9] shmem: open code the page cache lookup in shmem_get_folio_gfp Christoph Hellwig
2023-01-18  9:43 ` [Cluster-devel] [PATCH 6/9] mm: remove FGP_ENTRY Christoph Hellwig
2023-01-18  9:43 ` [Cluster-devel] [PATCH 7/9] gfs2: handle a NULL folio in gfs2_jhead_process_page Christoph Hellwig
2023-01-18 16:00   ` Matthew Wilcox
2023-01-18 16:24     ` Andreas Gruenbacher
2023-01-18 16:42       ` Christoph Hellwig
2023-01-18  9:43 ` [Cluster-devel] [PATCH 8/9] btrfs: handle a NULL folio in extent_range_redirty_for_io Christoph Hellwig
2023-01-18 16:08   ` Matthew Wilcox
2023-01-18 16:42     ` Christoph Hellwig
2023-01-18  9:43 ` [Cluster-devel] [PATCH 9/9] mm: return an ERR_PTR from __filemap_get_folio Christoph Hellwig
2023-01-18 12:39   ` Ryusuke Konishi
2023-01-18 16:42     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230118094329.9553-1-hch@lst.de \
    --to=hch@lst.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).