mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-22 19:23:24 +00:00
agent/rustjail/mount: don't use unwrap
Don't use unwrap in `init_rootfs` instead return an Error, this way we can write unit tests that don't panic. Signed-off-by: Julio Montes <julio.montes@intel.com>
This commit is contained in:
parent
fa7079bc41
commit
77ecfed24e
@ -138,16 +138,28 @@ pub fn init_rootfs(
|
|||||||
lazy_static::initialize(&PROPAGATION);
|
lazy_static::initialize(&PROPAGATION);
|
||||||
lazy_static::initialize(&LINUXDEVICETYPE);
|
lazy_static::initialize(&LINUXDEVICETYPE);
|
||||||
|
|
||||||
let linux = spec.linux.as_ref().unwrap();
|
let linux = &spec
|
||||||
|
.linux
|
||||||
|
.as_ref()
|
||||||
|
.ok_or::<Error>(anyhow!("Could not get linux configuration from spec"))?;
|
||||||
|
|
||||||
let mut flags = MsFlags::MS_REC;
|
let mut flags = MsFlags::MS_REC;
|
||||||
match PROPAGATION.get(&linux.rootfs_propagation.as_str()) {
|
match PROPAGATION.get(&linux.rootfs_propagation.as_str()) {
|
||||||
Some(fl) => flags |= *fl,
|
Some(fl) => flags |= *fl,
|
||||||
None => flags |= MsFlags::MS_SLAVE,
|
None => flags |= MsFlags::MS_SLAVE,
|
||||||
}
|
}
|
||||||
|
|
||||||
let rootfs = spec.root.as_ref().unwrap().path.as_str();
|
let root = spec
|
||||||
let root = fs::canonicalize(rootfs)?;
|
.root
|
||||||
let rootfs = root.to_str().unwrap();
|
.as_ref()
|
||||||
|
.ok_or(anyhow!("Could not get rootfs path from spec"))
|
||||||
|
.and_then(|r| {
|
||||||
|
fs::canonicalize(r.path.as_str()).context("Could not canonicalize rootfs path")
|
||||||
|
})?;
|
||||||
|
|
||||||
|
let rootfs = (*root)
|
||||||
|
.to_str()
|
||||||
|
.ok_or(anyhow!("Could not convert rootfs path to string"))?;
|
||||||
|
|
||||||
mount(None::<&str>, "/", None::<&str>, flags, None::<&str>)?;
|
mount(None::<&str>, "/", None::<&str>, flags, None::<&str>)?;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user