2012-03-05 21:14:03 +00:00
|
|
|
"recovery pass"
|
|
|
|
the processing of a dfile by the vdad
|
|
|
|
|
|
|
|
DATA_UNIT
|
2012-03-11 01:51:07 +00:00
|
|
|
int status (PRESENT, RECOVERABLE, UNRECOVERABLE)
|
2012-03-06 04:53:38 +00:00
|
|
|
bool keep_present
|
2012-03-08 22:42:44 +00:00
|
|
|
unit is currently PRESENT
|
2012-03-06 04:53:38 +00:00
|
|
|
keep enough descendant chunks on server so that
|
|
|
|
this unit will be PRESENT after this pass
|
2012-03-08 22:42:44 +00:00
|
|
|
bool need_present
|
|
|
|
unit is currently REC
|
|
|
|
start enough uploads to make it PRESENT
|
2012-03-05 21:14:03 +00:00
|
|
|
|
|
|
|
META_CHUNK
|
2012-03-11 01:51:07 +00:00
|
|
|
bool need_reconstruct
|
2012-03-06 04:53:38 +00:00
|
|
|
decode this unit during this pass.
|
2012-03-08 22:42:44 +00:00
|
|
|
This is set only if some child is UNREC
|
2012-03-11 01:51:07 +00:00
|
|
|
bool needed_by_parent
|
2012-03-05 21:14:03 +00:00
|
|
|
this unit is needed to reconstruct parent.
|
|
|
|
(don't delete it after reconstructing)
|
2012-03-06 04:53:38 +00:00
|
|
|
|
|
|
|
invariant: if need_reconstruct is set,
|
|
|
|
then either needed_by_parent is set
|
2012-03-08 22:42:44 +00:00
|
|
|
or there are UNREC children
|
2012-03-06 04:53:38 +00:00
|
|
|
|
2012-03-05 21:14:03 +00:00
|
|
|
CHUNK
|
2012-03-06 04:53:38 +00:00
|
|
|
bool present_on_server (from DB)
|
|
|
|
bool new_present_on_server
|