Hi David, Here is my pull request for the btrfs-progs: https://github.com/adam900710/btrfs-progs/tree/for_devel
The basis is the following commit from your devel branch: commit a8389337c5a0e7c3fb32ff91d557889c036da73a Author: Adam Borowski <kilob...@angband.pl> Date: Mon Feb 25 19:16:44 2019 +0100 btrfs-progs: defrag: open files RO on new enough kernels This branch drops the following commit in your devel branch: commit 4e8eb31f048f3fe9a68aacb58e4c0714df25b5c4 (david/devel) Author: Qu Wenruo <w...@suse.com> Date: Fri Sep 14 15:49:44 2018 +0800 btrfs-progs: Do metadata preallocation as long as we're not modifying extent tree Due to test failure on looping chunk allocation. The branch passes all selftests, except misc/035 which is a known problem. This pull request include the following features: Core change: - check --repair * Flush/FUA support to avoid breaking metadata CoW Now btrfs-progs crashing or transaction aborted won't cause new transid error. - device scan: * Add the ability to forget a device Fixes and Enhancement: - generic * Try best copy when reading tree blocks. * Skip unnecessary retry when one tree block copy fails. * Avoid back tree block to populate tree block cache. - check * File extents repair no longer relies data in extent tree. * New ability to check and repair free space cache invalid inode mode. * Update backup roots when commit transaction. - mkfs: * Enlarge metadata chunk size to follow kernel size. - defrag * open file in RO for newer kernel. - gitignore * Ignore hidden files. - qgroup report * Handle unrecognized sort string. - receive * New quite mode. - Misc * More cleanup for fs_info <-> root parameters. Adam Borowski (2): btrfs-progs: fix kernel version parsing on some versions past 3.0 btrfs-progs: defrag: open files RO on new enough kernels Anand Jain (3): btrfs-progs: device scan: add new option to forget one or all scanned devices btrfs-progs: dev replace: check for no result before using results btrfs-progs: dev replace: gracefully handle the exclusive operation report David Sterba (21): btrfs-progs: device scan: constify path argument btrfs-progs: device scan: update help text btrfs-progs: device scan: update help text btrfs-progs: docs: add scan --forget btrfs-progs: device scan: update error messages btrfs-progs: device: update help texts btrfs-progs: help: add helper for unrecognized option error message btrfs-progs: help: update messages of argc constraint checkers btrfs-progs: help: use unknown command option helper btrfs-progs: help: don't print usage on wrong argument counts btrfs-progs: prop: let parsing helper return error to the caller btrfs-progs: prop: don't print full usage on invalid arguments btrfs-progs: prop: return only common error values btrfs-progs: find-root: use common usage helper for uknown option btrfs-progs: find-root: don't dump usage on wrong argument count btrfs-progs: find-root: use the common help infrastructure btrfs-progs: qgroup: report unknown option btrfs-progs: qgroup: remove unused option handling btrfs-progs: qgroup show: report errors while parsing sort string btrfs-progs: qgroup show: report unrecognized format of sort string btrfs-progs: qgoup: propagate errors from btrfs_qgroup_parse_sort_string Lu Fengqi (2): btrfs-progs: lowmem: fix false alert about the existence of gaps in the check_file_extent btrfs-progs: tests: add case for inode lose one file extent Nikolay Borisov (1): btrfs-progs: Remove get_argv0_buf Qu Wenruo (20): btrfs-progs: Port kernel fs_devices::total_rw_bytes btrfs-progs: Unify metadata chunk size with kernel btrfs-progs: check: Fix false alert about uninitialized variable btrfs-progs: gitignore: Ignore hidden files btrfs-progs: Update backup roots when writing super blocks btrfs-progs: Free bad extent buffer as soon as possible btrfs-progs: Use @fs_info to replace @root for btrfs_check_leaf/node() btrfs-progs: Use mirror_num start from 1 to avoid unnecessary retry btrfs-progs: Move btrfs_num_copies() call out of the loop in read_tree_block() btrfs-progs: disk-io: Try to find a best copy when reading tree blocks btrfs-progs: check/lowmem: Add inode mode check btrfs-progs: check/original: Add inode mode check btrfs-progs: check/lowmem: Repair invalid inode mode in root tree btrfs-progs: check/original: Repair invalid inode mode in root tree btrfs-progs: check/lowmem: Check and repair free space cache inode mode btrfs-progs: check/original: Check and repair free space cache inode item btrfs-progs: tests/fsck: Add test image for free space cache mode repair btrfs-progs: disk-io: Make super block write error easier to read btrfs-progs: disk-io: Flush to ensure super block write is FUA btrfs-progs: Don't BUG_ON() when write_dev_supers() fails Steven Davies (1): btrfs-progs: receive: add option for quiet mode Su Yanjun (4): btrfs-progs: Revert "btrfs-progs: Add repair and report function for orphan file extent." btrfs-progs: Revert "btrfs-progs: Record orphan data extent ref to corresponding root." btrfs-progs: check: fix wrong @offset used in find_possible_backrefs() btrfs-progs: check: Delete file extent item with unaligned disk bytenr Su Yue (7): btrfs-progs: lowmem: add argument path to punch_extent_hole() btrfs-progs: lowmem: move nbytes check before isize check btrfs-progs: lowmem: fix false alert if extent item has been repaired btrfs-progs: lowmem: check unaligned disk_bytenr for extent_data btrfs-progs: lowmem: rename delete_extent_tree_item() to delete_item() btrfs-progs: lowmem: delete unaligned bytes extent data under repair btrfs-progs: fsck-test: enable lowmem repair for case 001 .gitignore | 2 +- Documentation/btrfs-device.asciidoc | 15 +- btrfs-corrupt-block.c | 2 +- btrfs-crc.c | 4 +- btrfs-find-root.c | 35 +- btrfs-fragments.c | 2 +- btrfs-map-logical.c | 2 +- btrfs-select-super.c | 2 +- btrfstune.c | 4 +- check/main.c | 640 +++++++++++------- check/mode-common.c | 129 ++++ check/mode-common.h | 29 + check/mode-lowmem.c | 323 +++++---- check/mode-lowmem.h | 3 + check/mode-original.h | 31 +- cmds-balance.c | 14 +- cmds-device.c | 112 ++- cmds-fi-du.c | 4 +- cmds-fi-usage.c | 4 +- cmds-filesystem.c | 30 +- cmds-inspect-dump-super.c | 4 +- cmds-inspect-dump-tree.c | 4 +- cmds-inspect-tree-stats.c | 7 +- cmds-inspect.c | 19 +- cmds-property.c | 46 +- cmds-qgroup.c | 42 +- cmds-quota.c | 4 +- cmds-receive.c | 66 +- cmds-replace.c | 22 +- cmds-rescue.c | 15 +- cmds-restore.c | 2 +- cmds-scrub.c | 18 +- cmds-send.c | 7 +- cmds-subvolume.c | 38 +- ctree.c | 32 +- ctree.h | 18 +- disk-io.c | 181 ++++- fsfeatures.c | 6 +- help.c | 69 +- help.h | 3 + ioctl.h | 2 + qgroup.c | 23 +- .../.lowmem_repairable | 0 .../test.raw.xz | Bin 0 -> 159128 bytes .../.lowmem_repairable | 0 .../default_case.img | Bin 0 -> 3072 bytes volumes.c | 11 +- volumes.h | 3 + 48 files changed, 1359 insertions(+), 670 deletions(-) create mode 100644 tests/fsck-tests/001-bad-file-extent-bytenr/.lowmem_repairable create mode 100644 tests/fsck-tests/038-bad-free-space-cache-inode-mode/test.raw.xz create mode 100644 tests/fsck-tests/038-missing-one-file-extent/.lowmem_repairable create mode 100644 tests/fsck-tests/038-missing-one-file-extent/default_case.img Thanks, Qu
signature.asc
Description: OpenPGP digital signature