diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-03 09:41:48 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-03 09:41:48 -0700 | 
| commit | 6dec9f406c1f2de6d750de0fc9d19872d9c4bf0d (patch) | |
| tree | 4366d1a872855ce92df282963dc7441fa6abccff /lib/debugobjects.c | |
| parent | 92b7e4923fdbeda9b86b1398127449d5353f9123 (diff) | |
| parent | 5e548b32018d96c377fda4bdac2bf511a448ca67 (diff) | |
Merge tag 'for-5.9-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs updates from David Sterba:
 "We don't have any big feature updates this time, there are lots of
  small enhacements or fixes. A highlight perhaps is the parallel fsync
  performance improvements, numbers below.
  Regarding the dio/iomap that was reverted last time, the required API
  changes are likely to land in the upcoming cycle, the btrfs part will
  be updated afterwards.
  User visible changes:
   - new mount option rescue= to group all recovery-related mount
     options so we don't have many specific options, currently
     introducing only aliases for existing options, future extensions
     are in development to allow read-only mount with partially damaged
     structures:
      - usebackuproot is an alias for rescue=usebackuproot
      - nologreplay is an alias for rescue=nologreplay
   - start deprecation of mount option inode_cache, removal scheduled to
     v5.11
   - removed deprecated mount options alloc_start and subvolrootid
   - device stats corruption counter gets incremented when a checksum
     mismatch is found
   - qgroup information exported in /sys/fs/btrfs/<UUID>/qgroups/<id>
     using sysfs
   - add link /sys/fs/btrfs/<UUID>/bdi pointing to the associated
     backing dev info
   - FS_INFO ioctl enhancements:
      - add flags to request/describe newly added items
      - new item: numeric checksum type and checksum size
      - new item: generation
      - new item: metadata_uuid
   - seed device: with one new read-write device added, print the new
     device information in /proc/mounts
   - balance: detect cancellation by Ctrl-C in existing cancellation
     points
  Performance improvements:
   - optimized versions of various helpers on little-endian
     architectures, where we don't have to do LE/BE conversion from
     on-disk format
   - tree-log/fsync optimizations leading to lower max latency reported
     by dbench, reduced by about 12%
   - all chunk tree leaves are prefetched at mount time, can improve
     mount time on large (terabyte-sized) filesystems
   - speed up parallel fsync of files with reflinked/deduped extents,
     with jobs 16 to 1024 the throughput gets improved roughly by 50% on
     average and runtime decreased roughly by 30% on average, notable
     outlier is 128 jobs with +121.2% on throughput and -54.6% runtime
   - another speed up of parallel fsync, reduce number of checksum tree
     lookups and contention, the improvements start to show up with 2
     tasks with +20% throughput and -16% runtime up to 64 with +200%
     throughput and -66% runtime
  Core:
   - umount-time qgroup leak checker
   - qgroups
      - add a way to unreserve partial range after failure, avoiding
        some EDQUOT errors
      - improved flushing logic when EDQUOT is hit
   - possible EINTR interruption caused by failed reservations after
     transaction start is better handled and documented
   - transaction abort errors are unified to EROFS in case it's not the
     original reason of abort or we don't have other way to determine
     the reason
  Fixes:
   - make truncate succeed on a NOCOW file even if data space is
     exhausted
   - fix cancelling balance on filesystem with exhausted metadata space
   - anon block device:
      - preallocate anon bdev when subvolume is created to report
        failure early
      - shorten time the anon bdev id is allocated
      - don't allocate anon bdev for internal roots
   - minor memory leak in ref-verify
   - refuse invalid combinations of compression and NOCOW file flags
   - lockdep fixes, updating the device locks
   - remove obsolete fallback logic for block group profile adjustments
     when switching from 1 to more devices, causing allocation of
     unwanted block groups
  Other cleanups, refactoring, simplifications:
   - conversions from struct inode to struct btrfs_inode in internal
     functions
   - removal of unused struct members"
* tag 'for-5.9-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (151 commits)
  btrfs: do not set the full sync flag on the inode during page release
  btrfs: release old extent maps during page release
  btrfs: fix race between page release and a fast fsync
  btrfs: open-code remount flag setting in btrfs_remount
  btrfs: if we're restriping, use the target restripe profile
  btrfs: don't adjust bg flags and use default allocation profiles
  btrfs: fix lockdep splat from btrfs_dump_space_info
  btrfs: move the chunk_mutex in btrfs_read_chunk_tree
  btrfs: open device without device_list_mutex
  btrfs: sysfs: use NOFS for device creation
  btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases
  btrfs: document special case error codes for fs errors
  btrfs: don't WARN if we abort a transaction with EROFS
  btrfs: reduce contention on log trees when logging checksums
  btrfs: remove done label in writepage_delalloc
  btrfs: add comments for btrfs_reserve_flush_enum
  btrfs: relocation: review the call sites which can be interrupted by signal
  btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree
  btrfs: relocation: allow signal to cancel balance
  btrfs: raid56: remove out label in __raid56_parity_recover
  ...
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
