* [PULL REQUEST] btrfs-progs updates, the main part
@ 2019-04-11 5:54 Qu Wenruo
2019-04-15 16:27 ` David Sterba
0 siblings, 1 reply; 4+ messages in thread
From: Qu Wenruo @ 2019-04-11 5:54 UTC (permalink / raw)
To: David Sterba, linux-btrfs
[-- Attachment #1.1: Type: text/plain, Size: 9172 bytes --]
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 <kilobyte@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 <wqu@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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PULL REQUEST] btrfs-progs updates, the main part
2019-04-11 5:54 [PULL REQUEST] btrfs-progs updates, the main part Qu Wenruo
@ 2019-04-15 16:27 ` David Sterba
2019-04-16 0:19 ` Qu Wenruo
0 siblings, 1 reply; 4+ messages in thread
From: David Sterba @ 2019-04-15 16:27 UTC (permalink / raw)
To: Qu Wenruo; +Cc: David Sterba, linux-btrfs
On Thu, Apr 11, 2019 at 01:54:44PM +0800, Qu Wenruo wrote:
> 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 <kilobyte@angband.pl>
> Date: Mon Feb 25 19:16:44 2019 +0100
>
> btrfs-progs: defrag: open files RO on new enough kernels
Please rebase the branch on top of current devel, with "btrfs-progs:
Remove get_argv0_buf". I had a few patches merged but the branch was not
public so there's some duplication.
> This branch drops the following commit in your devel branch:
> commit 4e8eb31f048f3fe9a68aacb58e4c0714df25b5c4 (david/devel)
> Author: Qu Wenruo <wqu@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
This fixes issue #123, is there another fix? I'll drop the patch from
devel as it fails the test so the revert won't be needed.
> 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.
Nice, I'll put it to the merge commit once the branch is ready.
> 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
For pull-based workflows there are some things that I'd require, based
on what I do for kernel patches, so let's use this one to set the
expectations:
The excerpt above from the shortlog (and other commits) was not intended
to be pulled, so it should not be in the shortlog.
Please note that all patches need to have signed-off-by by the
committer. This is not true for
- btrfs-progs: fsck-test: enable lowmem repair for case 001
- btrfs-progs: tests: add case for inode lose one file extent
The commits that do revert do not need the 'btrfs-progs:' prefix,
without it it's obvious in the patch subject list that those are
exceptions.
One thing that I edit in almost all commit is the order of tags, briefly
documented at
https://btrfs.wiki.kernel.org/index.php/Developer%27s_FAQ#Ordering
I don't require a signed tag to pull as the amount of pull requests is
not going to be high, review is feasible for me.
One thing that might be new for you is that you'll be the first get
blamed for everything what's in the branch you send to pull, then the
original authors :) It's good to favor quality over quantity.
There's probably more of lower importance, we'll find out along the way.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PULL REQUEST] btrfs-progs updates, the main part
2019-04-15 16:27 ` David Sterba
@ 2019-04-16 0:19 ` Qu Wenruo
2019-04-18 18:00 ` David Sterba
0 siblings, 1 reply; 4+ messages in thread
From: Qu Wenruo @ 2019-04-16 0:19 UTC (permalink / raw)
To: dsterba, linux-btrfs
[-- Attachment #1.1: Type: text/plain, Size: 4360 bytes --]
On 2019/4/16 上午12:27, David Sterba wrote:
> On Thu, Apr 11, 2019 at 01:54:44PM +0800, Qu Wenruo wrote:
>> 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 <kilobyte@angband.pl>
>> Date: Mon Feb 25 19:16:44 2019 +0100
>>
>> btrfs-progs: defrag: open files RO on new enough kernels
>
> Please rebase the branch on top of current devel, with "btrfs-progs:
> Remove get_argv0_buf". I had a few patches merged but the branch was not
> public so there's some duplication.
>
>> This branch drops the following commit in your devel branch:
>> commit 4e8eb31f048f3fe9a68aacb58e4c0714df25b5c4 (david/devel)
>> Author: Qu Wenruo <wqu@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
>
> This fixes issue #123, is there another fix?
Not yet, the reason is known but new fix is still under development.
Discarding it at least won't cause new problem.
>I'll drop the patch from
> devel as it fails the test so the revert won't be needed.
>
>> 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.
>
> Nice, I'll put it to the merge commit once the branch is ready.
>
[snip]
>> 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
>
> For pull-based workflows there are some things that I'd require, based
> on what I do for kernel patches, so let's use this one to set the
> expectations:
>
> The excerpt above from the shortlog (and other commits) was not intended
> to be pulled, so it should not be in the shortlog.
Got it.
>
> Please note that all patches need to have signed-off-by by the
> committer. This is not true for
Just one minor question, if I'm the author, no need for another SoB line
right?
>
> - btrfs-progs: fsck-test: enable lowmem repair for case 001
> - btrfs-progs: tests: add case for inode lose one file extent
>
> The commits that do revert do not need the 'btrfs-progs:' prefix,
> without it it's obvious in the patch subject list that those are
> exceptions.
>
> One thing that I edit in almost all commit is the order of tags, briefly
> documented at
> https://btrfs.wiki.kernel.org/index.php/Developer%27s_FAQ#Ordering
Oh, this is indeed different from my understand.
Especially for the reviewed-by and tested-by tags.
I'll definitely reorder those in next update.
Thanks,
Qu
>
> I don't require a signed tag to pull as the amount of pull requests is
> not going to be high, review is feasible for me.
>
> One thing that might be new for you is that you'll be the first get
> blamed for everything what's in the branch you send to pull, then the
> original authors :) It's good to favor quality over quantity.
>
> There's probably more of lower importance, we'll find out along the way.
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PULL REQUEST] btrfs-progs updates, the main part
2019-04-16 0:19 ` Qu Wenruo
@ 2019-04-18 18:00 ` David Sterba
0 siblings, 0 replies; 4+ messages in thread
From: David Sterba @ 2019-04-18 18:00 UTC (permalink / raw)
To: Qu Wenruo; +Cc: dsterba, linux-btrfs
On Tue, Apr 16, 2019 at 08:19:34AM +0800, Qu Wenruo wrote:
> Just one minor question, if I'm the author, no need for another SoB line
> right?
That's right.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-04-18 17:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-11 5:54 [PULL REQUEST] btrfs-progs updates, the main part Qu Wenruo
2019-04-15 16:27 ` David Sterba
2019-04-16 0:19 ` Qu Wenruo
2019-04-18 18:00 ` David Sterba
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).