From ceb815d2954f66bb1e4cb6dad0a6c2f9c3c59d94 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 1 Jun 2022 16:40:06 +0200 Subject: [PATCH] server: remove jobstate: ignore removal error due to file not found we want to remove lock and state file anyway, so not found is all right Signed-off-by: Thomas Lamprecht --- src/server/jobstate.rs | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/server/jobstate.rs b/src/server/jobstate.rs index dfc5362a..5cd43c84 100644 --- a/src/server/jobstate.rs +++ b/src/server/jobstate.rs @@ -112,24 +112,17 @@ where pub fn remove_state_file(jobtype: &str, jobname: &str) -> Result<(), Error> { let mut path = get_path(jobtype, jobname); let _lock = get_lock(&path)?; - std::fs::remove_file(&path).map_err(|err| { - format_err!( - "cannot remove statefile for {} - {}: {}", - jobtype, - jobname, - err - ) - })?; + if let Err(err) = std::fs::remove_file(&path) { + if err.kind() != std::io::ErrorKind::NotFound { + bail!("cannot remove statefile for {jobtype} - {jobname}: {err}"); + } + } path.set_extension("lck"); - // ignore errors - let _ = std::fs::remove_file(&path).map_err(|err| { - format_err!( - "cannot remove lockfile for {} - {}: {}", - jobtype, - jobname, - err - ) - }); + if let Err(err) = std::fs::remove_file(&path) { + if err.kind() != std::io::ErrorKind::NotFound { + bail!("cannot remove lockfile for {jobtype} - {jobname}: {err}"); + } + } Ok(()) }