diff options
Diffstat (limited to 'crates/runner')
-rw-r--r-- | crates/runner/src/jobserver.rs | 2 | ||||
-rw-r--r-- | crates/runner/src/ns.rs | 4 | ||||
-rw-r--r-- | crates/runner/src/paths.rs | 2 | ||||
-rw-r--r-- | crates/runner/src/tar.rs | 2 | ||||
-rw-r--r-- | crates/runner/src/task.rs | 10 | ||||
-rw-r--r-- | crates/runner/src/util/clone.rs | 2 |
6 files changed, 12 insertions, 10 deletions
diff --git a/crates/runner/src/jobserver.rs b/crates/runner/src/jobserver.rs index d4c670c..a44ba6c 100644 --- a/crates/runner/src/jobserver.rs +++ b/crates/runner/src/jobserver.rs @@ -21,7 +21,7 @@ impl Jobserver { let (r, w) = unistd::pipe2(OFlag::O_CLOEXEC | OFlag::O_NONBLOCK).context("pipe()")?; for _ in 0..tokens { - if let Err(_) = unistd::write(w, b"+") { + if unistd::write(w, b"+").is_err() { break; } } diff --git a/crates/runner/src/ns.rs b/crates/runner/src/ns.rs index 3a8b51f..4a8e3e7 100644 --- a/crates/runner/src/ns.rs +++ b/crates/runner/src/ns.rs @@ -17,12 +17,12 @@ pub fn setup_userns(inner_uid: Uid, inner_gid: Gid, outer_uid: Uid, outer_gid: G std::fs::write("/proc/self/setgroups", "deny").expect("Failed to write /proc/self/setgroups"); std::fs::write( "/proc/self/uid_map", - &format!("{} {} 1", inner_uid, outer_uid), + format!("{} {} 1", inner_uid, outer_uid), ) .expect("Failed to write /proc/self/uid_map"); std::fs::write( "/proc/self/gid_map", - &format!("{} {} 1", inner_gid, outer_gid), + format!("{} {} 1", inner_gid, outer_gid), ) .expect("Failed to write /proc/self/gid_map"); } diff --git a/crates/runner/src/paths.rs b/crates/runner/src/paths.rs index 7af1e3a..4b3a126 100644 --- a/crates/runner/src/paths.rs +++ b/crates/runner/src/paths.rs @@ -102,7 +102,7 @@ pub fn depend_dir(hash: &ArchiveHash) -> String { } pub fn depend_lock_filename(hash: &ArchiveHash) -> String { - join(&[DEPENDS_TMP_DIR, &format!("{}.lock", hash.to_string())]) + join(&[DEPENDS_TMP_DIR, &format!("{}.lock", hash)]) } pub fn archive_tmp_filename(hash: &InputHash) -> String { diff --git a/crates/runner/src/tar.rs b/crates/runner/src/tar.rs index 10cac92..1a66408 100644 --- a/crates/runner/src/tar.rs +++ b/crates/runner/src/tar.rs @@ -60,7 +60,7 @@ pub fn pack<W: Write, P: AsRef<Path>>( ns::pivot_root(&rootfs); let err = Command::new("tar") - .args(&[ + .args([ "-c", "--sort=name", "--numeric-owner", diff --git a/crates/runner/src/task.rs b/crates/runner/src/task.rs index 19a7484..b716b82 100644 --- a/crates/runner/src/task.rs +++ b/crates/runner/src/task.rs @@ -76,7 +76,7 @@ fn input_hash(task: &Task) -> InputHash { fn init_task(input_hash: &InputHash, task: &Task) -> Result<fs::Mount> { // Remove metadata first to ensure task invalidation - fs::ensure_removed(&paths::task_cache_filename(input_hash))?; + fs::ensure_removed(paths::task_cache_filename(input_hash))?; let task_state_dir = paths::task_state_dir(input_hash); @@ -250,11 +250,11 @@ fn init_task_rootfs(input_hash: &InputHash, task: &Task) -> Result<Stack<fs::Mou fn cleanup_task(input_hash: &InputHash) -> Result<()> { let task_tmp_dir = paths::task_tmp_dir(input_hash); - fs::ensure_removed(&task_tmp_dir).context("Failed to remove task tmp dir")?; + fs::ensure_removed(task_tmp_dir).context("Failed to remove task tmp dir")?; let task_state_dir = paths::task_state_dir(input_hash); let task_work_dir = paths::join(&[&task_state_dir, paths::TASK_STATE_WORK_SUBDIR]); - fs::ensure_removed(&task_work_dir).context("Failed to remove overlayfs workdir")?; + fs::ensure_removed(task_work_dir).context("Failed to remove overlayfs workdir")?; Ok(()) } @@ -445,7 +445,7 @@ fn run_task(input_hash: &InputHash, task: &Task, jobserver: &mut Jobserver) -> R .context("Failed to unset O_CLOEXEC on jobserver pipe")?; let err = Command::new("sh") - .args(&["-ex", &paths::join(&[paths::TASK_TASKDIR, paths::TASK_RUN])]) + .args(["-ex", &paths::join(&[paths::TASK_TASKDIR, paths::TASK_RUN])]) .stdin(Stdio::null()) .stdout(log_stdout) .stderr(log_stderr) @@ -556,7 +556,7 @@ fn load_cached(input_hash: &InputHash) -> Result<TaskOutput> { } fn save_cached(input_hash: &InputHash, output: &TaskOutput) -> Result<()> { - fs::mkdir(&paths::task_state_dir(input_hash))?; + fs::mkdir(paths::task_state_dir(input_hash))?; let tmp_filename = paths::task_cache_tmp_filename(input_hash); let filename = paths::task_cache_filename(input_hash); diff --git a/crates/runner/src/util/clone.rs b/crates/runner/src/util/clone.rs index 0af9e4d..51a31c3 100644 --- a/crates/runner/src/util/clone.rs +++ b/crates/runner/src/util/clone.rs @@ -27,6 +27,8 @@ pub unsafe fn clone(flags: sched::CloneFlags) -> nix::Result<unistd::ForkResult> let size = mem::size_of_val(&args) as libc::size_t; let pid = libc::syscall(libc::SYS_clone3, &mut args, size); + + #[allow(clippy::comparison_chain)] if pid < 0 { Err(errno::Errno::last()) } else if pid == 0 { |