fix timestamps wrapping around in garage block list-errors (fix #584)

This commit is contained in:
Alex Auvolat 2023-06-12 20:07:33 +02:00
parent 6aec73b641
commit 1ea4937c8b

View file

@ -373,13 +373,18 @@ pub fn print_block_error_list(el: Vec<BlockResyncErrorInfo>) {
let mut table = vec!["Hash\tRC\tErrors\tLast error\tNext try".into()]; let mut table = vec!["Hash\tRC\tErrors\tLast error\tNext try".into()];
for e in el { for e in el {
let next_try = if e.next_try > now {
tf2.convert(Duration::from_millis(e.next_try - now))
} else {
"asap".to_string()
};
table.push(format!( table.push(format!(
"{}\t{}\t{}\t{}\tin {}", "{}\t{}\t{}\t{}\tin {}",
hex::encode(e.hash.as_slice()), hex::encode(e.hash.as_slice()),
e.refcount, e.refcount,
e.error_count, e.error_count,
tf.convert(Duration::from_millis(now - e.last_try)), tf.convert(Duration::from_millis(now - e.last_try)),
tf2.convert(Duration::from_millis(e.next_try - now)) next_try
)); ));
} }
format_table(table); format_table(table);