linux/include
Linus Torvalds b9a3eae945 vfs-7.4-rc1.bh
Please consider pulling these changes from the signed vfs-7.4-rc1.bh tag.
 
 Thanks!
 Christian
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCatHrlgAKCRCRxhvAZXjc
 ouV5AP0WoJkt78dAg29c1s5oPtTmeDzjZwXRcgG95LVb2V2x1gD7BKccTzIoivKQ
 BY+KdHWFpTrDD78+wWEkVosik2exxAw=
 =x2FH
 -----END PGP SIGNATURE-----

Merge tag 'vfs-7.4-rc1.bh' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull buffer_head updates from Christian Brauner:
 "This stops the buffer_head write completion handlers from clearing
  BH_Uptodate when a write fails.

  A buffer whose write failed still holds exactly the data the
  filesystem asked to be written. It's the disk that is stale, not the
  buffer. Claiming otherwise has consequences. mark_buffer_dirty() warns
  when a filesystem redirties the buffer to retry the write, a buffer
  that isn't up to date gets re-read from disk which silently replaces
  the data with the stale on-disk copy, and the window between the write
  completing and BH_Uptodate being cleared is visible to anyone holding
  the folio lock.

  BH_Write_EIO already records that the last write failed. Every
  consumer is moved over to buffer_write_io_error(): the two core
  helpers in fs/buffer.c, adfs, ext2, omfs, exfat, fat, ext4, ocfs2,
  gfs2 and jbd2. Then write completion stops touching BH_Uptodate in
  both directions and BH_Write_EIO is cleared on successful completion
  instead of at submission, so a resubmission no longer hides an error
  that hasn't been fixed yet. bforget() and invalidation drop the flag
  so a reused block doesn't inherit someone else's write error.

  The groundwork for this removes b_page from struct buffer_head and
  lets a buffer_head point at memory outside the page cache. jbd2's
  shadow buffers sit on a slab folio today. A slab folio overloads
  ->mapping so mark_buffer_write_io_error() couldn't be called on them
  at all. They now point at the frozen data directly with b_folio NULL.

  Also included are documentation updates from Matthew for sb_bread(),
  sb_breadahead() and mmb_mark_buffer_dirty() and the removal of stale
  references to unmap_buffer() and mark_buffer_dirty_inode()"

* tag 'vfs-7.4-rc1.bh' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (27 commits)
  buffer: Rename label
  buffer: Refer to folios in comments
  buffer: Document mmb_mark_buffer_dirty()
  buffer: Document sb_bread(), sb_bread_unmovable() and sb_breadahead()
  fs: Remove references to mark_buffer_dirty_inode()
  buffer: clear BH_Write_EIO when a write succeeds, not when one starts
  buffer: Remove reference to unmap_buffer()
  buffer: stop touching BH_Uptodate on write completion
  jbd2: check for a fast commit write error with buffer_write_io_error()
  jbd2: say what jbd2_freeze_jh_data()'s assertion is actually checking
  jbd2: report journal write errors with BH_Write_EIO
  gfs2: check for a metadata write error with buffer_write_io_error()
  ocfs2: check for a stale write error before reusing a metadata buffer
  ocfs2: check for a metadata write error with buffer_write_io_error()
  ext4: check for a metadata write error with buffer_write_io_error()
  fat: check for a metadata write error with buffer_write_io_error()
  exfat: check for a directory write error with buffer_write_io_error()
  omfs: check for an inode write error with buffer_write_io_error()
  ext2: check for an xattr block write error with buffer_write_io_error()
  adfs: check for a directory write error with buffer_write_io_error()
  ...
2026-10-19 16:57:24 -10:00
..
acpi ACPI: bus: Drop two fields from struct acpi_device_pnp 2026-09-01 21:45:50 +02:00
asm-generic kho: make boot time huge page allocation work nicely with KHO 2026-08-23 09:17:38 -07:00
clocksource hyperv-next for v7.3-rc1 2026-08-26 16:47:40 -07:00
crypto This update includes the following changes: 2026-08-19 17:25:42 -07:00
cxl
drm drm/exec: don't immediately add prelocked obj to array of locked objs 2026-10-14 13:57:14 +02:00
dt-bindings sound fixes for 7.3-rc1 2026-08-28 10:01:02 -07:00
hyperv
keys keys: translate request_key_auth pid for the reading procfs instance 2026-09-12 00:43:45 +03:00
kunit
kvm KVM/arm64 changes for 7.3 2026-08-24 12:42:07 -04:00
linux vfs-7.4-rc1.bh 2026-10-19 16:57:24 -10:00
math-emu
media media: hevc: add bounded tile-count helpers 2026-09-07 09:01:05 +02:00
memory
misc
net ipv4: validate checksum_start before completing checksum 2026-10-08 11:03:47 -07:00
pcmcia
ras
rdma RDMA/uverbs: Fix mmap_lock/disassociation_lock circular dependency 2026-09-01 10:03:08 -04:00
rv mm.git review status for linus..mm-stable 2026-08-27 09:17:06 -07:00
scsi SCSI updates for 7.3 2026-08-29 11:55:36 -07:00
soc Mostly the usual clk driver updates and new SoC additions plus non-critical 2026-08-26 11:14:30 -07:00
sound ASoC: cs35l56: Add DAI for SDCA OT25 stream 2026-10-07 13:20:05 +02:00
target
trace Landlock fix for v7.3-rc5 2026-09-24 10:53:59 -07:00
uapi Random number generator fixes for Linux 7.3-rc6. 2026-10-02 11:28:45 -07:00
ufs
vdso random: vDSO: fix repeated word 'to' in comment 2026-09-16 11:51:39 +02:00
video fbdev: maxine: fix 64-bit build error 2026-08-20 23:45:07 +02:00
xen
Kbuild