for already_deleted in "${deleted_vols[@]}";do
if [[ "$vol" == "$already_deleted" ]];then continue 2; fi
done
- git -C "$(vol_dir "$vol")" annex fsck
+ pushd "$(vol_dir "$vol")"
+ git annex fsck -- *-*
+ popd
done
}
echo "$f"
}
-choose_volumes() {
+some_random_volume_names() {
x=$(for vol in "${vols[@]}";do
vol_name "$vol"
done | shuf | head -n "$1" | tr \\n ,)
echo "${x%,}"
}
+a_random_volume_dir() {
+ while true;do
+ vol="${vols[$RANDOM % $num_vols]}"
+ for already_deleted in "${deleted_vols[@]}";do
+ if [[ "$vol" == "$already_deleted" ]];then continue 2; fi
+ done
+ vol_dir "$vol"
+ break
+ done
+}
+
MIN_REDUNDANCY=1
MIN_FILES=2 # If you only have one file in a group, you'd just make copies of it, no need for annex-ec
MIN_VOLUMES=$((MIN_REDUNDANCY + MIN_FILES))
done
sync_everything
sync_everything
- pushd "$(vol_dir "${vols[$RANDOM % $num_vols]}")"
- cmd=(annex-ec -r "$redundancy" -v "$(choose_volumes $((num_files+redundancy)))" "${files[@]}")
+ pushd "$(a_random_volume_dir)"
+ cmd=(annex-ec -r "$redundancy" -v "$(some_random_volume_names $((num_files+redundancy)))" "${files[@]}")
echo "In $PWD , running ${cmd[*]}" >&2
"${cmd[@]}"
popd
sync_everything
+ sync_everything
fsck_everything
+
delete_some_test_vols "$redundancy"
- # TODO: Recover
+ pushd "$(a_random_volume_dir)"
+ annex-ec-recover -- *-*
+ popd
+
+ sync_everything
sync_everything
- # fsck_everything # Skip this check until recovery is implemented
+ fsck_everything
delete_all_test_vols
done
done