pub struct IoTargetBusy<V>where
V: Identities,{
pub target: IoTargetKey,
pub in_flight: usize,
pub held_for_gate: usize,
pub lowest_gates: Vec<Epoch<V>>,
pub uncovered: usize,
pub uncovered_through: Vec<Epoch<V>>,
pub failures: Vec<<V as Identities>::FailureId>,
}Expand description
Everything still holding a file that remove_target refused, and what clears each hold. Every
field is reported, not only the first that applies, so one refusal says all a consumer has
to do.
Fields§
§target: IoTargetKeyThe target.
in_flight: usizeOperations the kernel has not completed. Cleared as their completions arrive, which may be before they are popped (DI-D-45).
held_for_gate: usizeOperations held until their gate epoch is durable. Cleared when the gates are released,
or fail as NeverIssued.
lowest_gates: Vec<Epoch<V>>The lowest gate in each lineage gated on.
uncovered: usizeWrites to the file not yet covered successfully – named to a provider that answered
success for every domain of the file – outside any failure’s suspect set. A file stays
busy while any lineage has such a write. Cleared by make_durable_through at or above
each.
uncovered_through: Vec<Epoch<V>>The highest epoch among the uncovered writes, in each lineage that wrote the file.
failures: Vec<<V as Identities>::FailureId>Unresolved failures whose suspect sets include writes to the file. Cleared by resolving them: heal and seal again, or abandon.