linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Chandan Babu R <chandan.babu@oracle.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Hugh Dickins <hughd@google.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Hui Su <sh_def@163.com>, linux-xfs@vger.kernel.org, linux-mm@kvack.org
Subject: put the xfs xfile abstraction on a diet v4
Date: Mon, 19 Feb 2024 07:27:08 +0100	[thread overview]
Message-ID: <20240219062730.3031391-1-hch@lst.de> (raw)

Hi all,

this series refactors and simplifies the code in the xfs xfile
abstraction, which is a thing layer on a kernel-use shmem file.

To do this is needs a slighly lower level exports from shmem.c,
which I combined with improving an assert and documentation there.

As per the previous discussion this should probably be merged through
the xfs tree.

The series is against current mainline.

Changes since v3:
 - improve the shmem_get_folio documentation
 - use VM_NORESERVE
 - split and reorder the file setup patches
 - improve a commit message

Changes since v2:
 - include internal.h in workingset.h to avoid a buildbot warning
 - update the usage comment for shmem_get_folio
 - improve the xfile_load/store documentation
 - don't use highmem for xfiles for real
 - only call filemap_check_wb_err to check for errors on the mapping

Changes since v1:
 - fix reading i_blocks
 - provide wrappers for reading i_size and i_blocks
 - update the xfile load/store documentation
 - improve a commit message
 - use shmem_kernel_file_setup
 - add a missing folio unlock in the hwpoison path in xfile_get_page
 - fix checking for shmem mappings
 - improve I/O error handling (Darrick)
 - convert to folios (partially from Darrick)

Diffstat:
 Documentation/filesystems/xfs/xfs-online-fsck-design.rst |   25 -
 fs/xfs/scrub/rtsummary.c                                 |    6 
 fs/xfs/scrub/trace.h                                     |   81 ++-
 fs/xfs/scrub/xfarray.c                                   |  234 ++++------
 fs/xfs/scrub/xfarray.h                                   |   11 
 fs/xfs/scrub/xfile.c                                     |  345 +++++----------
 fs/xfs/scrub/xfile.h                                     |   62 --
 include/linux/shmem_fs.h                                 |    6 
 include/linux/swap.h                                     |   10 
 mm/filemap.c                                             |    9 
 mm/internal.h                                            |    4 
 mm/shmem.c                                               |   37 +
 mm/workingset.c                                          |    1 
 13 files changed, 349 insertions(+), 482 deletions(-)


             reply	other threads:[~2024-02-19  6:27 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-19  6:27 Christoph Hellwig [this message]
2024-02-19  6:27 ` [PATCH 01/22] mm: move mapping_set_update out of <linux/swap.h> Christoph Hellwig
2024-02-19  6:27 ` [PATCH 02/22] shmem: move shmem_mapping out of line Christoph Hellwig
2024-02-19  6:27 ` [PATCH 03/22] shmem: set a_ops earlier in shmem_symlink Christoph Hellwig
2024-02-19  6:27 ` [PATCH 04/22] shmem: move the shmem_mapping assert into shmem_get_folio_gfp Christoph Hellwig
2024-02-19  6:27 ` [PATCH 05/22] shmem: export shmem_get_folio Christoph Hellwig
2024-02-19  6:27 ` [PATCH 06/22] shmem: export shmem_kernel_file_setup Christoph Hellwig
2024-02-19  6:27 ` [PATCH 07/22] shmem: document how to "persist" data when using shmem_*file_setup Christoph Hellwig
2024-02-19  6:27 ` [PATCH 08/22] xfs: use VM_NORESERVE in xfile_create Christoph Hellwig
2024-02-20 23:55   ` Dave Chinner
2024-02-19  6:27 ` [PATCH 09/22] xfs: shmem_file_setup can't return NULL Christoph Hellwig
2024-02-19  6:27 ` [PATCH 10/22] xfs: use shmem_kernel_file_setup in xfile_create Christoph Hellwig
2024-02-20 23:56   ` Dave Chinner
2024-02-21  2:17   ` Darrick J. Wong
2024-02-19  6:27 ` [PATCH 11/22] xfs: don't modify file and inode flags for shmem files Christoph Hellwig
2024-02-19  6:27 ` [PATCH 12/22] xfs: remove xfile_stat Christoph Hellwig
2024-02-19  6:27 ` [PATCH 13/22] xfs: remove the xfile_pread/pwrite APIs Christoph Hellwig
2024-02-19  6:27 ` [PATCH 14/22] xfs: don't try to handle non-update pages in xfile_obj_load Christoph Hellwig
2024-02-19  6:27 ` [PATCH 15/22] xfs: don't allow highmem pages in xfile mappings Christoph Hellwig
2024-02-19  6:27 ` [PATCH 16/22] xfs: use shmem_get_folio in xfile_obj_store Christoph Hellwig
2024-02-19  6:27 ` [PATCH 17/22] xfs: use shmem_get_folio in in xfile_load Christoph Hellwig
2024-02-19  6:27 ` [PATCH 18/22] xfs: add file_{get,put}_folio Christoph Hellwig
2024-02-19  6:27 ` [PATCH 19/22] xfs: remove xfarray_sortinfo.page_kaddr Christoph Hellwig
2024-02-19  6:27 ` [PATCH 20/22] xfs: fix a comment in xfarray.c Christoph Hellwig
2024-02-19  6:27 ` [PATCH 21/22] xfs: convert xfarray_pagesort to deal with large folios Christoph Hellwig
2024-02-19  6:27 ` [PATCH 22/22] xfs: remove xfile_{get,put}_page Christoph Hellwig
2024-02-20 23:57   ` Dave Chinner
2024-02-21  2:17     ` Darrick J. Wong
2024-02-19 22:17 ` put the xfs xfile abstraction on a diet v4 Andrew Morton
2024-02-19 22:35 ` Hugh Dickins
2024-02-20  4:12 ` Chandan Babu R
2024-02-20 15:54   ` 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=20240219062730.3031391-1-hch@lst.de \
    --to=hch@lst.de \
    --cc=akpm@linux-foundation.org \
    --cc=chandan.babu@oracle.com \
    --cc=djwong@kernel.org \
    --cc=hughd@google.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=sh_def@163.com \
    /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