1. May 27, 2022
  2. May 26, 2022
  3. May 25, 2022
    • Linus Torvalds's avatar
      Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecache · fdaf9a58
      Linus Torvalds authored
      Pull page cache updates from Matthew Wilcox:
      
       - Appoint myself page cache maintainer
      
       - Fix how scsicam uses the page cache
      
       - Use the memalloc_nofs_save() API to replace AOP_FLAG_NOFS
      
       - Remove the AOP flags entirely
      
       - Remove pagecache_write_begin() and pagecache_write_end()
      
       - Documentation updates
      
       - Convert several address_space operations to use folios:
           - is_dirty_writeback
           - readpage becomes read_folio
           - releasepage becomes release_folio
           - freepage becomes free_folio
      
       - Change filler_t to require a struct file pointer be the first
         argument like ->read_folio
      
      * tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecache: (107 commits)
        nilfs2: Fix some kernel-doc comments
        Appoint myself page cache maintainer
        fs: Remove aops->freepage
        secretmem: Convert to free_folio
        nfs: Convert to free_folio
        orangefs: Convert to free_folio
        fs: Add free_folio address space operation
        fs: Convert drop_buffers() to use a folio
        fs: Change try_to_free_buffers() to take a folio
        jbd2: Convert release_buffer_page() to use a folio
        jbd2: Convert jbd2_journal_try_to_free_buffers to take a folio
        reiserfs: Convert release_buffer_page() to use a folio
        fs: Remove last vestiges of releasepage
        ubifs: Convert to release_folio
        reiserfs: Convert to release_folio
        orangefs: Convert to release_folio
        ocfs2: Convert to release_folio
        nilfs2: Remove comment about releasepage
        nfs: Convert to release_folio
        jfs: Convert to release_folio
        ...
      fdaf9a58
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.19-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 8642174b
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "There's a couple of corrections sent in by Andreas for some accounting
        errors.
      
        The biggest change this time around is that writeback errors longer
        clear pageuptodate nor does XFS invalidate the page cache anymore.
        This brings XFS (and gfs2/zonefs) behavior in line with every other
        Linux filesystem driver, and fixes some UAF bugs that only cropped up
        after willy turned on multipage folios for XFS in 5.18-rc1.
      
        Regrettably, it took all the way to the end of the 5.18 cycle to find
        the source of these bugs and reach a consensus that XFS' writeback
        failure behavior from 20 years ago is no longer necessary.
      
        Summary:
      
         - Fix a couple of accounting errors in the buffered io code.
      
         - Discontinue the practice of marking folios !uptodate and
           invalidating them when writeback fails.
      
           This fixes some UAF bugs when multipage folios are enabled, and
           brings the behavior of XFS/gfs/zonefs into alignment with the
           behavior of all the other Linux filesystems"
      
      * tag 'iomap-5.19-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: don't invalidate folios after writeback errors
        iomap: iomap_write_end cleanup
        iomap: iomap_write_failed fix
      8642174b
    • Linus Torvalds's avatar
      Merge tag 'dlm-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · f2898112
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This includes several large patches to improve endian handling and
        remove sparse warnings. The code previously used in/out, in-place
        endianness conversion functions.
      
        Other code cleanup includes the list iterator changes.
      
        Finally, a long standing bug was found and fixed, caused by missed
        decrement on an lock struct ref count"
      
      * tag 'dlm-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: (28 commits)
        dlm: use kref_put_lock in __put_lkb
        dlm: use kref_put_lock in put_rsb
        dlm: remove unnecessary error assign
        dlm: fix missing lkb refcount handling
        fs: dlm: cast resource pointer to uintptr_t
        dlm: replace usage of found with dedicated list iterator variable
        dlm: remove usage of list iterator for list_add() after the loop body
        dlm: fix pending remove if msg allocation fails
        dlm: fix wake_up() calls for pending remove
        dlm: check required context while close
        dlm: cleanup lock handling in dlm_master_lookup
        dlm: remove found label in dlm_master_lookup
        dlm: remove __user conversion warnings
        dlm: move conversion to compile time
        dlm: use __le types for dlm messages
        dlm: use __le types for rcom messages
        dlm: use __le types for dlm header
        dlm: use __le types for options header
        dlm: add __CHECKER__ for false positives
        dlm: move global to static inits
        ...
      f2898112
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · fea30433
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Various bug fixes and cleanups for ext4.
      
        In particular, move the crypto related fucntions from fs/ext4/super.c
        into a new fs/ext4/crypto.c, and fix a number of bugs found by fuzzers
        and error injection tools"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (25 commits)
        ext4: only allow test_dummy_encryption when supported
        ext4: fix bug_on in __es_tree_search
        ext4: avoid cycles in directory h-tree
        ext4: verify dir block before splitting it
        ext4: filter out EXT4_FC_REPLAY from on-disk superblock field s_state
        ext4: fix bug_on in ext4_writepages
        ext4: refactor and move ext4_ioctl_get_encryption_pwsalt()
        ext4: cleanup function defs from ext4.h into crypto.c
        ext4: move ext4 crypto code to its own file crypto.c
        ext4: fix memory leak in parse_apply_sb_mount_options()
        ext4: reject the 'commit' option on ext2 filesystems
        ext4: remove duplicated #include of dax.h in inode.c
        ext4: fix race condition between ext4_write and ext4_convert_inline_data
        ext4: convert symlink external data block mapping to bdev
        ext4: add nowait mode for ext4_getblk()
        ext4: fix journal_ioprio mount option handling
        ext4: mark group as trimmed only if it was fully scanned
        ext4: fix use-after-free in ext4_rename_dir_prepare
        ext4: add unmount filesystem message
        ext4: remove unnecessary conditionals
        ...
      fea30433
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.18-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 7208c984
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Clean up the allocation of glocks that have an address space attached
      
       - Quota locking fix and quota iomap conversion
      
       - Fix the FITRIM error reporting
      
       - Some list iterator cleanups
      
      * tag 'gfs2-v5.18-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Convert function bh_get to use iomap
        gfs2: use i_lock spin_lock for inode qadata
        gfs2: Return more useful errors from gfs2_rgrp_send_discards()
        gfs2: Use container_of() for gfs2_glock(aspace)
        gfs2: Explain some direct I/O oddities
        gfs2: replace 'found' with dedicated list iterator variable
      7208c984
    • Linus Torvalds's avatar
      Merge tag 'for-5.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · bd1b7c13
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Features:
      
         - subpage:
            - support for PAGE_SIZE > 4K (previously only 64K)
            - make it work with raid56
      
         - repair super block num_devices automatically if it does not match
           the number of device items
      
         - defrag can convert inline extents to regular extents, up to now
           inline files were skipped but the setting of mount option
           max_inline could affect the decision logic
      
         - zoned:
            - minimal accepted zone size is explicitly set to 4MiB
            - make zone reclaim less aggressive and don't reclaim if there are
              enough free zones
            - add per-profile sysfs tunable of the reclaim threshold
      
         - allow automatic block group reclaim for non-zoned filesystems, with
           sysfs tunables
      
         - tree-checker: new check, compare extent buffer owner against owner
           rootid
      
        Performance:
      
         - avoid blocking on space reservation when doing nowait direct io
           writes (+7% throughput for reads and writes)
      
         - NOCOW write throughput improvement due to refined locking (+3%)
      
         - send: reduce pressure to page cache by dropping extent pages right
           after they're processed
      
        Core:
      
         - convert all radix trees to xarray
      
         - add iterators for b-tree node items
      
         - support printk message index
      
         - user bulk page allocation for extent buffers
      
         - switch to bio_alloc API, use on-stack bios where convenient, other
           bio cleanups
      
         - use rw lock for block groups to favor concurrent reads
      
         - simplify workques, don't allocate high priority threads for all
           normal queues as we need only one
      
         - refactor scrub, process chunks based on their constraints and
           similarity
      
         - allocate direct io structures on stack and pass around only
           pointers, avoids allocation and reduces potential error handling
      
        Fixes:
      
         - fix count of reserved transaction items for various inode
           operations
      
         - fix deadlock between concurrent dio writes when low on free data
           space
      
         - fix a few cases when zones need to be finished
      
        VFS, iomap:
      
         - add helper to check if sb write has started (usable for assertions)
      
         - new helper iomap_dio_alloc_bio, export iomap_dio_bio_end_io"
      
      * tag 'for-5.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (173 commits)
        btrfs: zoned: introduce a minimal zone size 4M and reject mount
        btrfs: allow defrag to convert inline extents to regular extents
        btrfs: add "0x" prefix for unsupported optional features
        btrfs: do not account twice for inode ref when reserving metadata units
        btrfs: zoned: fix comparison of alloc_offset vs meta_write_pointer
        btrfs: send: avoid trashing the page cache
        btrfs: send: keep the current inode open while processing it
        btrfs: allocate the btrfs_dio_private as part of the iomap dio bio
        btrfs: move struct btrfs_dio_private to inode.c
        btrfs: remove the disk_bytenr in struct btrfs_dio_private
        btrfs: allocate dio_data on stack
        iomap: add per-iomap_iter private data
        iomap: allow the file system to provide a bio_set for direct I/O
        btrfs: add a btrfs_dio_rw wrapper
        btrfs: zoned: zone finish unused block group
        btrfs: zoned: properly finish block group on metadata write
        btrfs: zoned: finish block group when there are no more allocatable bytes left
        btrfs: zoned: consolidate zone finish functions
        btrfs: zoned: introduce btrfs_zoned_bg_is_full
        btrfs: improve error reporting in lookup_inline_extent_backref
        ...
      bd1b7c13