From acdbb2844833ae6a57d94fb7d3a0bb8a8f64956d Mon Sep 17 00:00:00 2001 From: mii443 Date: Thu, 17 Oct 2024 08:01:31 +0000 Subject: [PATCH] add get_max_descendants --- src/bin/izoli.rs | 2 ++ src/cgroup/cgroup.rs | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/bin/izoli.rs b/src/bin/izoli.rs index 33dc27b..943a200 100644 --- a/src/bin/izoli.rs +++ b/src/bin/izoli.rs @@ -10,4 +10,6 @@ fn main() { println!("{:?}", cgroup.get_procs()); println!("{:?}", cgroup.get_threads()); println!("{:?}", cgroup.get_stat()); + println!("{:?}", cgroup.get_max_depth()); + println!("{:?}", cgroup.get_max_descendants()); } diff --git a/src/cgroup/cgroup.rs b/src/cgroup/cgroup.rs index f0af93a..a4edd0d 100644 --- a/src/cgroup/cgroup.rs +++ b/src/cgroup/cgroup.rs @@ -100,8 +100,19 @@ impl CGroup { } pub fn get_max_depth(&self) -> Result, std::io::Error> { - let max = self.read("cgroup.max.depth")?; + self.get_limit_value("cgroup.max.depth") + } - Ok(CGroupLimitValue::from_str(&max).unwrap()) + pub fn get_max_descendants(&self) -> Result, std::io::Error> { + self.get_limit_value("cgroup.max.descendants") + } + + fn get_limit_value(&self, name: &str) -> Result, std::io::Error> + where + T: FromStr, + { + let value = self.read(name)?; + + Ok(CGroupLimitValue::from_str(&value).unwrap()) } }