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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to