pub struct IoMaxReport {
pub declared_bytes_per_sec: u64,
pub status: IoMaxStatus,
pub reason: Option<String>,
}Expand description
The declared I/O ceiling and what became of it, carried into --explain-scope, into
session_start.effective_grants and into W-SEC-021.
io.max is non-fatal, so a ceiling that did not apply refuses nothing. This value is what
carries that outcome alongside the claim, so the manifest’s declared ceiling and what the
kernel accepted cannot disagree in silence.
Fields§
§declared_bytes_per_sec: u64The effective capabilities.resources.cgroup_io_bytes_per_sec, after
HostResourceLimits::resolve has applied its default. Reported whatever the status, so a
reader can see what was asked for as well as what happened to it.
status: IoMaxStatusWhat happened to it.
reason: Option<String>Why, for every status but IoMaxStatus::Enforced. Absent from the JSON when there is
nothing to say.
Implementations§
Source§impl IoMaxReport
impl IoMaxReport
Sourcepub fn no_scope_required(declared_bytes_per_sec: u64) -> Self
pub fn no_scope_required(declared_bytes_per_sec: u64) -> Self
No cgroup scope is required because this capsule can reach no subprocess.
Public, and takes no reason argument: mur run --explain-scope has to produce the
byte-for-byte report a launch produces — trace.rs’s session_start_effective_grants_match_explain_scope_json
asserts the two objects are equal — so the wording lives here rather than once per caller.
Trait Implementations§
Source§impl Clone for IoMaxReport
impl Clone for IoMaxReport
Source§impl Debug for IoMaxReport
impl Debug for IoMaxReport
Source§impl Default for IoMaxReport
impl Default for IoMaxReport
impl Eq for IoMaxReport
Source§impl PartialEq for IoMaxReport
impl PartialEq for IoMaxReport
Source§impl Serialize for IoMaxReport
impl Serialize for IoMaxReport
impl StructuralPartialEq for IoMaxReport
Auto Trait Implementations§
impl Forget for IoMaxReport
impl Freeze for IoMaxReport
impl RefUnwindSafe for IoMaxReport
impl Send for IoMaxReport
impl Sync for IoMaxReport
impl Unpin for IoMaxReport
impl UnsafeUnpin for IoMaxReport
impl UnwindSafe for IoMaxReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
Source§type NoneType = T
type NoneType = T
NoneValue::null_value produces.