fsck: Commit incremental fsck database after every 1000 files fscked, or every 5 minutes, whichever comes first.

Previously, commits were made every 1000 files fscked.

Also, improve docs
This commit is contained in:
Joey Hess 2015-07-31 16:42:15 -04:00
parent 9dfe03dbcd
commit bc4129cc77
5 changed files with 59 additions and 20 deletions

View file

@ -21,3 +21,14 @@ Also tried with `docker/ubuntu:latest` using a clean install from https://downlo
git-annex: 5.20150522-gb199d65
Linux: 3.16.0-43-generic #58-Ubuntu SMP Fri Jun 19 11:04:02 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
> I've adjusted the timing of the fsck checkpoints used in resumes some.
> Now it makes one every 5 minutes, or every 1000 files, whichever comes
> first. I could make this tunable, but I don't think it's worth adding the
> complexity; this heuristic should work pretty well.
>
> Another approach would be to catch sigint and commit the fsck database
> then, as is now done when --time-limit interrupts a fsck run.
> But, I am leery of complicating git-annex with signal handling,
> so I've not done that currently.
>
> Also, documented this in fsck's man page. [[done]] --[[Joey]]

View file

@ -37,7 +37,12 @@ With parameters, only the specified files are checked.
* `--more`
Continue the last incremental fsck pass, where it left off.
Resume the last incremental fsck pass, where it left off.
Resuming may redundantly check some files that were checked
before. Any files that fsck found problems with before will be re-checked
on resume. Also, checkpoints are made every 1000 files or every 5 minutes
during a fsck, and it resumes from the last checkpoint.
* `--incremental-schedule=time`