task archive rotation: better handle non-existing archive
if the archive file does not exist yet, we cannot rotate it, but it's not actually an error, so just return Ok(false) to indicate no rotation took place Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
04e24b14f0
commit
2d81f7b0c0
|
@ -345,7 +345,12 @@ fn lock_task_list_files(exclusive: bool) -> Result<std::fs::File, Error> {
|
||||||
pub fn rotate_task_log_archive(size_threshold: u64, compress: bool, max_files: Option<usize>) -> Result<bool, Error> {
|
pub fn rotate_task_log_archive(size_threshold: u64, compress: bool, max_files: Option<usize>) -> Result<bool, Error> {
|
||||||
let _lock = lock_task_list_files(true)?;
|
let _lock = lock_task_list_files(true)?;
|
||||||
let path = Path::new(PROXMOX_BACKUP_ARCHIVE_TASK_FN);
|
let path = Path::new(PROXMOX_BACKUP_ARCHIVE_TASK_FN);
|
||||||
let metadata = path.metadata()?;
|
let metadata = match path.metadata() {
|
||||||
|
Ok(metadata) => metadata,
|
||||||
|
Err(err) if err.kind() == std::io::ErrorKind::NotFound => return Ok(false),
|
||||||
|
Err(err) => bail!("unable to open task archive - {}", err),
|
||||||
|
};
|
||||||
|
|
||||||
if metadata.len() > size_threshold {
|
if metadata.len() > size_threshold {
|
||||||
let mut logrotate = LogRotate::new(PROXMOX_BACKUP_ARCHIVE_TASK_FN, compress).ok_or_else(|| format_err!("could not get archive file names"))?;
|
let mut logrotate = LogRotate::new(PROXMOX_BACKUP_ARCHIVE_TASK_FN, compress).ok_or_else(|| format_err!("could not get archive file names"))?;
|
||||||
let backup_user = crate::backup::backup_user()?;
|
let backup_user = crate::backup::backup_user()?;
|
||||||
|
|
Loading…
Reference in New Issue