From f128746a63ae5b009e72d853a117f35c4a2b6cd0 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 26 Oct 2021 17:11:18 +0200 Subject: runner: do not delete whole task dir, only layer and work dir We will also store a lockfile in the taskdir that must not be deleted. --- crates/runner/src/task.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates') diff --git a/crates/runner/src/task.rs b/crates/runner/src/task.rs index 296c1a0..659b04d 100644 --- a/crates/runner/src/task.rs +++ b/crates/runner/src/task.rs @@ -69,10 +69,9 @@ fn init_task(input_hash: &InputHash, task: &Task) -> Result { fs::ensure_removed(&paths::task_cache_filename(input_hash))?; let task_state_dir = paths::task_state_dir(input_hash); - fs::ensure_removed(&task_state_dir)?; - fs::mkdir(&task_state_dir)?; let task_layer_dir = paths::join(&[&task_state_dir, paths::TASK_STATE_LAYER_SUBDIR]); + fs::ensure_removed(&task_layer_dir)?; fs::mkdir(&task_layer_dir)?; fs::fixup_permissions(&task_layer_dir)?; @@ -90,6 +89,7 @@ fn init_task(input_hash: &InputHash, task: &Task) -> Result { .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::ensure_removed(&task_work_dir)?; fs::mkdir(&task_work_dir)?; fs::fixup_permissions(&task_work_dir)?; -- cgit v1.2.3