summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-18 22:55:47 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-18 22:56:21 +0200
commit60f4855359cdfad64b8b6450c6159d24766b9a0e (patch)
tree683422982025d9f971a49244690193d84c045457
parentda01bf8507cacd873ae91ae36d177533050cf320 (diff)
downloadrebel-60f4855359cdfad64b8b6450c6159d24766b9a0e.tar
rebel-60f4855359cdfad64b8b6450c6159d24766b9a0e.zip
Pass None instead of Some("none") as fstype for bind mounts
-rw-r--r--src/runner/container/tar.rs4
-rw-r--r--src/runner/container/task.rs14
-rw-r--r--src/util/fs.rs12
3 files changed, 9 insertions, 21 deletions
diff --git a/src/runner/container/tar.rs b/src/runner/container/tar.rs
index c04f236..67993c1 100644
--- a/src/runner/container/tar.rs
+++ b/src/runner/container/tar.rs
@@ -25,13 +25,13 @@ pub fn pack<W: Write, P: AsRef<Path>>(
let _rootfs_mount = fs::mount(
paths::ROOTFS_DIR,
&rootfs_mount_target,
- "none",
+ None,
MsFlags::MS_BIND,
None,
)?;
let source_mount_target = paths::join(&[&task_tmp_dir, paths::TASK_WORKDIR]);
- let _source_mount = fs::mount(source, &source_mount_target, "none", MsFlags::MS_BIND, None)?;
+ let _source_mount = fs::mount(source, &source_mount_target, None, MsFlags::MS_BIND, None)?;
spec::generate_spec(&[
"tar",
diff --git a/src/runner/container/task.rs b/src/runner/container/task.rs
index d5ab94c..b6b8026 100644
--- a/src/runner/container/task.rs
+++ b/src/runner/container/task.rs
@@ -43,14 +43,8 @@ fn init_task(input_hash: &InputHash, task: &runner::Task) -> Result<fs::Mount> {
let mount_target = paths::join(&[&task_tmp_dir, paths::TASK_WORKDIR]);
let mount = if task.input.inherit.is_empty() {
- fs::mount(
- task_layer_dir,
- &mount_target,
- "none",
- MsFlags::MS_BIND,
- None,
- )
- .with_context(|| format!("Failed to bind mount to {:?}", mount_target))?
+ fs::mount(task_layer_dir, &mount_target, None, MsFlags::MS_BIND, None)
+ .with_context(|| format!("Failed to bind mount to {:?}", mount_target))?
} else {
let task_work_dir = paths::join(&[&task_state_dir, paths::TASK_STATE_WORK_SUBDIR]);
fs::mkdir(&task_work_dir)?;
@@ -73,7 +67,7 @@ fn init_task(input_hash: &InputHash, task: &runner::Task) -> Result<fs::Mount> {
fs::mount(
"overlay",
&mount_target,
- "overlay",
+ Some("overlay"),
MsFlags::empty(),
Some(&options),
)
@@ -97,7 +91,7 @@ fn init_task_rootfs(input_hash: &InputHash) -> Result<fs::Mount> {
let mount = fs::mount(
"overlay",
&mount_target,
- "overlay",
+ Some("overlay"),
MsFlags::empty(),
Some(&options),
)
diff --git a/src/util/fs.rs b/src/util/fs.rs
index 0dbe496..9344c72 100644
--- a/src/util/fs.rs
+++ b/src/util/fs.rs
@@ -98,7 +98,7 @@ impl Drop for Mount {
pub fn mount<P1: AsRef<Path>, P2: AsRef<Path>>(
source: P1,
target: P2,
- fstype: &str,
+ fstype: Option<&str>,
flags: MsFlags,
data: Option<&str>,
) -> Result<Mount> {
@@ -108,13 +108,7 @@ pub fn mount<P1: AsRef<Path>, P2: AsRef<Path>>(
.as_ref()
.canonicalize()
.with_context(|| format!("Failed to get absolute path for {:?}", target.as_ref()))?;
- mount::mount(
- Some(source.as_ref()),
- &canon_target,
- Some(fstype),
- flags,
- data,
- )
- .with_context(|| format!("Failed to mount {:?}", canon_target))?;
+ mount::mount(Some(source.as_ref()), &canon_target, fstype, flags, data)
+ .with_context(|| format!("Failed to mount {:?}", canon_target))?;
Ok(Mount(canon_target))
}