lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250725-vfs-iomap-e5f67758f577@brauner>
Date: Fri, 25 Jul 2025 13:27:20 +0200
From: Christian Brauner <brauner@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Christian Brauner <brauner@...nel.org>,
	linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: [GIT PULL 14/14 for v6.17] vfs iomap

Hey Linus,

/* Summary */
This contains the iomap updates for this cycle:

- Refactor the iomap writeback code and split the generic and ioend/bio
  based writeback code. There are two methods that define the split
  between the generic writeback code, and the implemementation of it,
  and all knowledge of ioends and bios now sits below that layer.

- This series adds fuse iomap support for buffered writes and dirty
  folio writeback. This is needed so that granular uptodate and dirty
  tracking can be used in fuse when large folios are enabled. This has
  two big advantages. For writes, instead of the entire folio needing to
  be read into the page cache, only the relevant portions need to be.
  For writeback, only the dirty portions need to be written back instead
  of the entire folio.

/* Testing */

gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3)

No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

This contains a merge conflict with mainline that can be resolved as follows:

diff --cc fs/fuse/file.c
index 2ddfb3bb6483,f16426fd2bf5..000000000000
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c

Merge conflicts with other trees
================================

No known conflicts.

The following changes since commit 19272b37aa4f83ca52bdf9c16d5d81bdd1354494:

  Linux 6.16-rc1 (2025-06-08 13:44:43 -0700)

are available in the Git repository at:

  git@...olite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.17-rc1.iomap

for you to fetch changes up to d5212d819e02313f27c867e6d365e71f1fdaaca4:

  Merge patch series "fuse: use iomap for buffered writes + writeback" (2025-07-17 09:55:23 +0200)

Please consider pulling these changes from the signed vfs-6.17-rc1.iomap tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.17-rc1.iomap

----------------------------------------------------------------
Christian Brauner (2):
      Merge patch series "refactor the iomap writeback code v5"
      Merge patch series "fuse: use iomap for buffered writes + writeback"

Christoph Hellwig (11):
      iomap: header diet
      iomap: pass more arguments using the iomap writeback context
      iomap: refactor the writeback interface
      iomap: hide ioends from the generic writeback code
      iomap: move all ioend handling to ioend.c
      iomap: rename iomap_writepage_map to iomap_writeback_folio
      iomap: export iomap_writeback_folio
      iomap: replace iomap_folio_ops with iomap_write_ops
      iomap: improve argument passing to iomap_read_folio_sync
      iomap: add read_folio_range() handler for buffered writes
      iomap: build the writeback code without CONFIG_BLOCK

Joanne Koong (8):
      iomap: cleanup the pending writeback tracking in iomap_writepage_map_blocks
      iomap: add public helpers for uptodate state manipulation
      iomap: move folio_unlock out of iomap_writeback_folio
      fuse: use iomap for buffered writes
      fuse: use iomap for writeback
      fuse: use iomap for folio laundering
      fuse: hook into iomap for invalidating and checking partial uptodateness
      fuse: refactor writeback to use iomap_writepage_ctx inode

 Documentation/filesystems/iomap/design.rst     |   3 -
 Documentation/filesystems/iomap/operations.rst |  57 ++-
 block/fops.c                                   |  37 +-
 fs/fuse/Kconfig                                |   1 +
 fs/fuse/file.c                                 | 345 +++++++--------
 fs/gfs2/aops.c                                 |   8 +-
 fs/gfs2/bmap.c                                 |  48 ++-
 fs/gfs2/bmap.h                                 |   1 +
 fs/gfs2/file.c                                 |   3 +-
 fs/iomap/Makefile                              |   6 +-
 fs/iomap/buffered-io.c                         | 553 ++++++++-----------------
 fs/iomap/direct-io.c                           |   5 -
 fs/iomap/fiemap.c                              |   3 -
 fs/iomap/internal.h                            |   1 -
 fs/iomap/ioend.c                               | 220 +++++++++-
 fs/iomap/iter.c                                |   1 -
 fs/iomap/seek.c                                |   4 -
 fs/iomap/swapfile.c                            |   3 -
 fs/iomap/trace.c                               |   1 -
 fs/iomap/trace.h                               |   4 +-
 fs/xfs/xfs_aops.c                              | 212 ++++++----
 fs/xfs/xfs_file.c                              |   6 +-
 fs/xfs/xfs_iomap.c                             |  12 +-
 fs/xfs/xfs_iomap.h                             |   1 +
 fs/xfs/xfs_reflink.c                           |   3 +-
 fs/zonefs/file.c                               |  40 +-
 include/linux/iomap.h                          |  82 ++--
 27 files changed, 859 insertions(+), 801 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ