Commit 1885cdbfbb51 for kernel

commit 1885cdbfbb51ede3637166c895d0b8040c9899cc
Merge: 7d0a66e4bb90 7fd8720dff2d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Dec 1 08:14:00 2025 -0800

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

    Pull iomap updates from Christian Brauner:
     "FUSE iomap Support for Buffered Reads:

        This adds iomap support for FUSE buffered reads and readahead. This
        enables granular uptodate tracking with large folios so only
        non-uptodate portions need to be read. Also fixes a race condition
        with large folios + writeback cache that could cause data corruption
        on partial writes followed by reads.

         - Refactored iomap read/readahead bio logic into helpers
         - Added caller-provided callbacks for read operations
         - Moved buffered IO bio logic into new file
         - FUSE now uses iomap for read_folio and readahead

      Zero Range Folio Batch Support:

        Add folio batch support for iomap_zero_range() to handle dirty
        folios over unwritten mappings. Fix raciness issues where dirty data
        could be lost during zero range operations.

         - filemap_get_folios_tag_range() helper for dirty folio lookup
         - Optional zero range dirty folio processing
         - XFS fills dirty folios on zero range of unwritten mappings
         - Removed old partial EOF zeroing optimization

      DIO Write Completions from Interrupt Context:

        Restore pre-iomap behavior where pure overwrite completions run
        inline rather than being deferred to workqueue. Reduces context
        switches for high-performance workloads like ScyllaDB.

         - Removed unused IOCB_DIO_CALLER_COMP code
         - Error completions always run in user context (fixes zonefs)
         - Reworked REQ_FUA selection logic
         - Inverted IOMAP_DIO_INLINE_COMP to IOMAP_DIO_OFFLOAD_COMP

      Buffered IO Cleanups:

        Some performance and code clarity improvements:

         - Replace manual bitmap scanning with find_next_bit()
         - Simplify read skip logic for writes
         - Optimize pending async writeback accounting
         - Better variable naming
         - Documentation for iomap_finish_folio_write() requirements

      Misaligned Vectors for Zoned XFS:

        Enables sub-block aligned vectors in XFS always-COW mode for zoned
        devices via new IOMAP_DIO_FSBLOCK_ALIGNED flag.

      Bug Fixes:

         - Allocate s_dio_done_wq for async reads (fixes syzbot report after
           error completion changes)
         - Fix iomap_read_end() for already uptodate folios (regression fix)"

    * tag 'vfs-6.19-rc1.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (40 commits)
      iomap: allocate s_dio_done_wq for async reads as well
      iomap: fix iomap_read_end() for already uptodate folios
      iomap: invert the polarity of IOMAP_DIO_INLINE_COMP
      iomap: support write completions from interrupt context
      iomap: rework REQ_FUA selection
      iomap: always run error completions in user context
      fs, iomap: remove IOCB_DIO_CALLER_COMP
      iomap: use find_next_bit() for uptodate bitmap scanning
      iomap: use find_next_bit() for dirty bitmap scanning
      iomap: simplify when reads can be skipped for writes
      iomap: simplify ->read_folio_range() error handling for reads
      iomap: optimize pending async writeback accounting
      docs: document iomap writeback's iomap_finish_folio_write() requirement
      iomap: account for unaligned end offsets when truncating read range
      iomap: rename bytes_pending/bytes_accounted to bytes_submitted/bytes_not_submitted
      xfs: support sub-block aligned vectors in always COW mode
      iomap: add IOMAP_DIO_FSBLOCK_ALIGNED flag
      xfs: error tag to force zeroing on debug kernels
      iomap: remove old partial eof zeroing optimization
      xfs: fill dirty folios on zero range of unwritten mappings
      ...