add cli command to verify local block integrity #94
No reviewers
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#94
Loading…
Reference in a new issue
No description provided.
Delete branch "trinity-1686a:cli-verify-integrity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
iterate over all local blocks, reading them entirely, and verifying their integrity.
I've integrated an optional speed limit so it does not impact too much i/o performances. It's however pretty rough, unit is byte/s, but granularity is actually block, so it can't be less than 1 block (whatever its size is) per second, and is rounded up in case the speed requested is not an exact multiple of block size. Also the behavior is very sawtoothy and not smooth (max speed at the start of each second, then no i/o to meet the requested average)
@ -199,3 +200,3 @@
);
let mut path2 = path.clone();
path2.set_extension(".corrupted");
path2.set_extension("corrupted");
files where getting named
<hash>..corrupted
LGTM. Just one thing, I think we should call this operation a
scrub
because that's a short and memorable term that is already used for this kind of operation in other contexts (e.g. ZFS)Replaced by #132
Pull request closed