-
- Downloads
Merge tag 'for-5.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs updates from David Sterba: "Features, highlights: - async discard - "mount -o discard=async" to enable it - freed extents are not discarded immediatelly, but grouped together and trimmed later, with IO rate limiting - the "sync" mode submits short extents that could have been ignored completely by the device, for SATA prior to 3.1 the requests are unqueued and have a big impact on performance - the actual discard IO requests have been moved out of transaction commit to a worker thread, improving commit latency - IO rate and request size can be tuned by sysfs files, for now enabled only with CONFIG_BTRFS_DEBUG as we might need to add/delete the files and don't have a stable-ish ABI for general use, defaults are conservative - export device state info in sysfs, eg. missing, writeable - no discard of extents known to be untouched on disk (eg. after reservation) - device stats reset is logged with process name and PID that called the ioctl Fixes: - fix missing hole after hole punching and fsync when using NO_HOLES - writeback: range cyclic mode could miss some dirty pages and lead to OOM - two more corner cases for metadata_uuid change after power loss during the change - fix infinite loop during fsync after mix of rename operations Core changes: - qgroup assign returns ENOTCONN when quotas not enabled, used to return EINVAL that was confusing - device closing does not need to allocate memory anymore - snapshot aware code got removed, disabled for years due to performance problems, reimplmentation will allow to select wheter defrag breaks or does not break COW on shared extents - tree-checker: - check leaf chunk item size, cross check against number of stripes - verify location keys for DIR_ITEM, DIR_INDEX and XATTR items - new self test for physical -> logical mapping code, used for super block range exclusion - assertion helpers/macros updated to avoid objtool "unreachable code" reports on older compilers or config option combinations" * tag 'for-5.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (84 commits) btrfs: free block groups after free'ing fs trees btrfs: Fix split-brain handling when changing FSID to metadata uuid btrfs: Handle another split brain scenario with metadata uuid feature btrfs: Factor out metadata_uuid code from find_fsid. btrfs: Call find_fsid from find_fsid_inprogress Btrfs: fix infinite loop during fsync after rename operations btrfs: set trans->drity in btrfs_commit_transaction btrfs: drop log root for dropped roots btrfs: sysfs, add devid/dev_state kobject and device attributes btrfs: Refactor btrfs_rmap_block to improve readability btrfs: Add self-tests for btrfs_rmap_block btrfs: selftests: Add support for dummy devices btrfs: Move and unexport btrfs_rmap_block btrfs: separate definition of assertion failure handlers btrfs: device stats, log when stats are zeroed btrfs: fix improper setting of scanned for range cyclic write cache pages btrfs: safely advance counter when looking up bio csums btrfs: remove unused member btrfs_device::work btrfs: remove unnecessary wrapper get_alloc_profile btrfs: add correction to handle -1 edge case in async discard ...
No related branches found
No related tags found
Showing
- fs/btrfs/Makefile 1 addition, 1 deletionfs/btrfs/Makefile
- fs/btrfs/block-group.c 181 additions, 31 deletionsfs/btrfs/block-group.c
- fs/btrfs/block-group.h 40 additions, 0 deletionsfs/btrfs/block-group.h
- fs/btrfs/check-integrity.c 1 addition, 3 deletionsfs/btrfs/check-integrity.c
- fs/btrfs/compression.c 2 additions, 2 deletionsfs/btrfs/compression.c
- fs/btrfs/ctree.h 66 additions, 15 deletionsfs/btrfs/ctree.h
- fs/btrfs/dev-replace.c 1 addition, 0 deletionsfs/btrfs/dev-replace.c
- fs/btrfs/discard.c 702 additions, 0 deletionsfs/btrfs/discard.c
- fs/btrfs/discard.h 41 additions, 0 deletionsfs/btrfs/discard.h
- fs/btrfs/disk-io.c 24 additions, 13 deletionsfs/btrfs/disk-io.c
- fs/btrfs/disk-io.h 2 additions, 2 deletionsfs/btrfs/disk-io.h
- fs/btrfs/extent-tree.c 25 additions, 25 deletionsfs/btrfs/extent-tree.c
- fs/btrfs/extent_io.c 20 additions, 34 deletionsfs/btrfs/extent_io.c
- fs/btrfs/extent_io.h 2 additions, 4 deletionsfs/btrfs/extent_io.h
- fs/btrfs/file-item.c 20 additions, 21 deletionsfs/btrfs/file-item.c
- fs/btrfs/file.c 11 additions, 12 deletionsfs/btrfs/file.c
- fs/btrfs/free-space-cache.c 540 additions, 79 deletionsfs/btrfs/free-space-cache.c
- fs/btrfs/free-space-cache.h 40 additions, 1 deletionfs/btrfs/free-space-cache.h
- fs/btrfs/inode-map.c 7 additions, 6 deletionsfs/btrfs/inode-map.c
- fs/btrfs/inode.c 83 additions, 751 deletionsfs/btrfs/inode.c
Loading
Please register or sign in to comment