• Linus Torvalds's avatar
    Merge tag 'for-6.5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · cc423f63
    Linus Torvalds authored
    Pull btrfs updates from David Sterba:
     "Mainly core changes, refactoring and optimizations.
    
      Performance is improved in some areas, overall there may be a
      cumulative improvement due to refactoring that removed lookups in the
      IO path or simplified IO submission tracking.
    
      Core:
    
       - submit IO synchronously for fast checksums (crc32c and xxhash),
         remove high priority worker kthread
    
       - read extent buffer in one go, simplify IO tracking, bio submission
         and locking
    
       - remove additional tracking of redirtied extent buffers, originally
         added for zoned mode but actually not needed
    
       - track ordered extent pointer in bio to avoid rbtree lookups during
         IO
    
       - scrub, use recovered data stripes as cache to avoid unnecessary
         read
    
       - in zoned mode, optimize logical to physical mappings of extents
    
       - remove PageError handling, not set by VFS nor writeback
    
       - cleanups, refactoring, better structure packing
    
       - lots of error handling improvements
    
       - more assertions, lockdep annotations
    
       - print assertion failure with the exact line where it happens
    
       - tracepoint updates
    
       - more debugging prints
    
      Performance:
    
       - speedup in fsync(), better tracking of inode logged status can
         avoid transaction commit
    
       - IO path structures track logical offsets in data structures and
         does not need to look it up
    
      User visible changes:
    
       - don't commit transaction for every created subvolume, this can
         reduce time when many subvolumes are created in a batch
    
       - print affected files when relocation fails
    
       - trigger orphan file cleanup during START_SYNC ioctl
    
      Notable fixes:
    
       - fix crash when disabling quota and relocation
    
       - fix crashes when removing roots from drity list
    
       - fix transacion abort during relocation when converting from newer
         profiles not covered by fallback
    
       - in zoned mode, stop reclaiming block groups if filesystem becomes
         read-only
    
       - fix rare race condition in tree mod log rewind that can miss some
         btree node slots
    
       - with enabled fsverity, drop up-to-date page bit in case the
         verification fails"
    
    * tag 'for-6.5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (194 commits)
      btrfs: fix race between quota disable and relocation
      btrfs: add comment to struct btrfs_fs_info::dirty_cowonly_roots
      btrfs: fix race when deleting free space root from the dirty cow roots list
      btrfs: fix race when deleting quota root from the dirty cow roots list
      btrfs: tracepoints: also show actual number of the outstanding extents
      btrfs: update i_version in update_dev_time
      btrfs: make btrfs_compressed_bioset static
      btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
      btrfs: scrub: remove btrfs_fs_info::scrub_wr_completion_workers
      btrfs: scrub: remove scrub_ctx::csum_list member
      btrfs: do not BUG_ON after failure to migrate space during truncation
      btrfs: do not BUG_ON on failure to get dir index for new snapshot
      btrfs: send: do not BUG_ON() on unexpected symlink data extent
      btrfs: do not BUG_ON() when dropping inode items from log root
      btrfs: replace BUG_ON() at split_item() with proper error handling
      btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr()
      btrfs: do not BUG_ON() on tree mod log failures at insert_ptr()
      btrfs: do not BUG_ON() on tree mod log failure at insert_new_root()
      btrfs: do not BUG_ON() on tree mod log failures at push_nodes_for_insert()
      btrfs: abort transaction at update_ref_for_cow() when ref count is zero
      ...
    cc423f63
volumes.c 217 KB