Details
-
Technical task
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
9223372036854775807
Description
Use "lfs mirror resync" command to calculate and write parity code asynchronously into parity component(s) after reading the data of the corresponding data components.
We also should add a verify command:
lfs ec verify — reads back and validates parity data against the source data.
Both commands will use the designated EC read/write functionality to perform I/O to the parity components.
We need to consider the relationship between erasure coding and mirrors here. Probably, the resync operation can annotate which components it actually resync'ed and that should take care of it. Since a write to a mirror + EC file will mark all but one mirror STALE, then "lfs mirror resync" (synonymous with "lfs ec resync", if we have such a command) should resync all STALE mirror and EC components in the file. There are already options to only resync specific components that can be used in unusual circumstances.