pbs-config: add 'create_mocked_lock' helper
by making the field an option and making it None in the mocked case this function is only intended for testing and hidden from the docs Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
aad2d162ab
commit
ebf34e7edd
|
@ -18,7 +18,13 @@ pub fn backup_group() -> Result<nix::unistd::Group, Error> {
|
||||||
pbs_tools::sys::query_group(BACKUP_GROUP_NAME)?
|
pbs_tools::sys::query_group(BACKUP_GROUP_NAME)?
|
||||||
.ok_or_else(|| format_err!("Unable to lookup '{}' group.", BACKUP_GROUP_NAME))
|
.ok_or_else(|| format_err!("Unable to lookup '{}' group.", BACKUP_GROUP_NAME))
|
||||||
}
|
}
|
||||||
pub struct BackupLockGuard(std::fs::File);
|
pub struct BackupLockGuard(Option<std::fs::File>);
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
|
/// Note: do not use for production code, this is only intended for tests
|
||||||
|
pub unsafe fn create_mocked_lock() -> BackupLockGuard {
|
||||||
|
BackupLockGuard(None)
|
||||||
|
}
|
||||||
|
|
||||||
/// Open or create a lock file owned by user "backup" and lock it.
|
/// Open or create a lock file owned by user "backup" and lock it.
|
||||||
///
|
///
|
||||||
|
@ -41,7 +47,7 @@ pub fn open_backup_lockfile<P: AsRef<std::path::Path>>(
|
||||||
let timeout = timeout.unwrap_or(std::time::Duration::new(10, 0));
|
let timeout = timeout.unwrap_or(std::time::Duration::new(10, 0));
|
||||||
|
|
||||||
let file = proxmox::tools::fs::open_file_locked(&path, timeout, exclusive, options)?;
|
let file = proxmox::tools::fs::open_file_locked(&path, timeout, exclusive, options)?;
|
||||||
Ok(BackupLockGuard(file))
|
Ok(BackupLockGuard(Some(file)))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Atomically write data to file owned by "root:backup" with permission "0640"
|
/// Atomically write data to file owned by "root:backup" with permission "0640"
|
||||||
|
|
Loading…
Reference in New Issue