Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upEnhanced progress indicator #69
Conversation
ec0cf44
to
60bea17
f87a211
to
ccc8fbf
|
Rebased the patch against latest master to fix conflicts. I also made a 20 seconds terminal recording of what it looks like, the FS is a test one of only 8 Gb, so the btrfs check is of course pretty fast, and that's not for such tiny FS that the progress indicator is really useful, but it still gives a rough idea of the output : https://asciinema.org/a/YkpaGGIih3WSe0mWtnt4qVACd |
|
Hi, @speed47 your patches look nice to me. Since cmds-check.c was split into files under btrfs-progs/check/, could you rebase them to master again and send them to ML. So we can have some reviews. |
|
Rebased the patch against current master. |
|
Merged to devel, thanks. |
speed47 commentedOct 1, 2017
•
edited
I've been forking
btrfs-progslocally in 2015 to add an enhanced progress indicator, as the current ".oOo."-style progress indicator is not really helpful to see the check progression for a multi-Tb filesystem. I posted about it on the ML and it was added in the integration branch at some point, but was forgotten there (including by me) before being merged.I rebased it against current master, and reworked it a bit to make it better than the 2015 version. The ".oOo." progress indicator is replaced with a count of the walked items (depending on the "thing" being inspected, this way if the walks stops or there's an infinite loop somewhere, you'll notice), adds an elapsed time indicator, and a step counter (currently 7).
As code paths differ, it has been tested in normal and lowmem mode, and on FS with and without qgroups. It has also been tested under
valgrind.The first commit is a single-line fix on the
task_period_startfunction I stumbled upon while creating this patch.Here's how the output looks like on a 22 Tb 5-disk RAID1 FS:
Any comments about the patch are welcome (code-related or on the progress output itself).
If needed or wanted, I can also send it to the ML.