mirror of
git://git.proxmox.com/git/proxmox-backup.git
synced 2025-01-07 17:18:03 +03:00
pbs-fuse+pbs-tape: replace print with log macro
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
dce4b5403b
commit
e82c03a196
@ -11,6 +11,7 @@ futures = "0.3"
|
|||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
nix = "0.24"
|
nix = "0.24"
|
||||||
|
log = "0.4"
|
||||||
regex = "1.5"
|
regex = "1.5"
|
||||||
tokio = { version = "1.6", features = [] }
|
tokio = { version = "1.6", features = [] }
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ impl<R: AsyncRead + AsyncSeek + Unpin> FuseLoopSession<R> {
|
|||||||
let cleanup = |session: futures::stream::Fuse<Fuse>| {
|
let cleanup = |session: futures::stream::Fuse<Fuse>| {
|
||||||
// only warn for errors on cleanup, if these fail nothing is lost
|
// only warn for errors on cleanup, if these fail nothing is lost
|
||||||
if let Err(err) = loopdev::unassign(&loopdev_path) {
|
if let Err(err) = loopdev::unassign(&loopdev_path) {
|
||||||
eprintln!(
|
log::warn!(
|
||||||
"cleanup: warning: could not unassign file {} from loop device {} - {}",
|
"cleanup: warning: could not unassign file {} from loop device {} - {}",
|
||||||
&fuse_path, &loopdev_path, err,
|
&fuse_path, &loopdev_path, err,
|
||||||
);
|
);
|
||||||
@ -151,13 +151,13 @@ impl<R: AsyncRead + AsyncSeek + Unpin> FuseLoopSession<R> {
|
|||||||
std::mem::drop(session);
|
std::mem::drop(session);
|
||||||
|
|
||||||
if let Err(err) = remove_file(&fuse_path) {
|
if let Err(err) = remove_file(&fuse_path) {
|
||||||
eprintln!(
|
log::warn!(
|
||||||
"cleanup: warning: could not remove temporary file {} - {}",
|
"cleanup: warning: could not remove temporary file {} - {}",
|
||||||
&fuse_path, err,
|
&fuse_path, err,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if let Err(err) = remove_file(&pid_path) {
|
if let Err(err) = remove_file(&pid_path) {
|
||||||
eprintln!(
|
log::warn!(
|
||||||
"cleanup: warning: could not remove PID file {} - {}",
|
"cleanup: warning: could not remove PID file {} - {}",
|
||||||
&pid_path, err,
|
&pid_path, err,
|
||||||
);
|
);
|
||||||
@ -200,7 +200,7 @@ impl<R: AsyncRead + AsyncSeek + Unpin> FuseLoopSession<R> {
|
|||||||
},
|
},
|
||||||
Some(_) => {
|
Some(_) => {
|
||||||
// only FUSE requests necessary for loop-mapping are implemented
|
// only FUSE requests necessary for loop-mapping are implemented
|
||||||
eprintln!("Unimplemented FUSE request type encountered");
|
log::error!("Unimplemented FUSE request type encountered");
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
@ -239,7 +239,7 @@ pub fn cleanup_unused_run_files(filter_name: Option<String>) {
|
|||||||
// does nothing if files are already stagnant (e.g. instance crashed etc...)
|
// does nothing if files are already stagnant (e.g. instance crashed etc...)
|
||||||
if unmap_from_backing(&path, None).is_ok() {
|
if unmap_from_backing(&path, None).is_ok() {
|
||||||
// we have reaped some leftover instance, tell the user
|
// we have reaped some leftover instance, tell the user
|
||||||
eprintln!(
|
log::info!(
|
||||||
"Cleaned up dangling mapping '{}': no loop device assigned",
|
"Cleaned up dangling mapping '{}': no loop device assigned",
|
||||||
&name
|
&name
|
||||||
);
|
);
|
||||||
@ -291,7 +291,7 @@ fn get_backing_file(loopdev: &str) -> Result<String, Error> {
|
|||||||
// call in broken state: we found the mapping, but the client is already dead,
|
// call in broken state: we found the mapping, but the client is already dead,
|
||||||
// only thing to do is clean up what we can
|
// only thing to do is clean up what we can
|
||||||
fn emerg_cleanup(loopdev: Option<&str>, mut backing_file: PathBuf) {
|
fn emerg_cleanup(loopdev: Option<&str>, mut backing_file: PathBuf) {
|
||||||
eprintln!(
|
log::warn!(
|
||||||
"warning: found mapping with dead process ({:?}), attempting cleanup",
|
"warning: found mapping with dead process ({:?}), attempting cleanup",
|
||||||
&backing_file
|
&backing_file
|
||||||
);
|
);
|
||||||
|
@ -8,6 +8,7 @@ description = "LTO tape support"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
|
log = "0.4"
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
thiserror = "1.0"
|
thiserror = "1.0"
|
||||||
endian_trait = { version = "0.6", features = ["arrays"] }
|
endian_trait = { version = "0.6", features = ["arrays"] }
|
||||||
|
@ -55,24 +55,24 @@ fn get_tape_handle(param: &Value) -> Result<SgTape, Error> {
|
|||||||
if let Some(name) = param["drive"].as_str() {
|
if let Some(name) = param["drive"].as_str() {
|
||||||
let (config, _digest) = pbs_config::drive::config()?;
|
let (config, _digest) = pbs_config::drive::config()?;
|
||||||
let drive: LtoTapeDrive = config.lookup("lto", name)?;
|
let drive: LtoTapeDrive = config.lookup("lto", name)?;
|
||||||
eprintln!("using device {}", drive.path);
|
log::info!("using device {}", drive.path);
|
||||||
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(device) = param["device"].as_str() {
|
if let Some(device) = param["device"].as_str() {
|
||||||
eprintln!("using device {}", device);
|
log::info!("using device {}", device);
|
||||||
return SgTape::new(open_lto_tape_device(device)?);
|
return SgTape::new(open_lto_tape_device(device)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(name) = std::env::var("PROXMOX_TAPE_DRIVE") {
|
if let Ok(name) = std::env::var("PROXMOX_TAPE_DRIVE") {
|
||||||
let (config, _digest) = pbs_config::drive::config()?;
|
let (config, _digest) = pbs_config::drive::config()?;
|
||||||
let drive: LtoTapeDrive = config.lookup("lto", &name)?;
|
let drive: LtoTapeDrive = config.lookup("lto", &name)?;
|
||||||
eprintln!("using device {}", drive.path);
|
log::info!("using device {}", drive.path);
|
||||||
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(device) = std::env::var("TAPE") {
|
if let Ok(device) = std::env::var("TAPE") {
|
||||||
eprintln!("using device {}", device);
|
log::info!("using device {}", device);
|
||||||
return SgTape::new(open_lto_tape_device(&device)?);
|
return SgTape::new(open_lto_tape_device(&device)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ fn get_tape_handle(param: &Value) -> Result<SgTape, Error> {
|
|||||||
if drive_names.len() == 1 {
|
if drive_names.len() == 1 {
|
||||||
let name = drive_names[0];
|
let name = drive_names[0];
|
||||||
let drive: LtoTapeDrive = config.lookup("lto", name)?;
|
let drive: LtoTapeDrive = config.lookup("lto", name)?;
|
||||||
eprintln!("using device {}", drive.path);
|
log::info!("using device {}", drive.path);
|
||||||
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
return SgTape::new(open_lto_tape_device(&drive.path)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,12 +33,12 @@ fn get_changer_handle(param: &Value) -> Result<File, Error> {
|
|||||||
if let Some(name) = param["changer"].as_str() {
|
if let Some(name) = param["changer"].as_str() {
|
||||||
let (config, _digest) = pbs_config::drive::config()?;
|
let (config, _digest) = pbs_config::drive::config()?;
|
||||||
let changer_config: ScsiTapeChanger = config.lookup("changer", name)?;
|
let changer_config: ScsiTapeChanger = config.lookup("changer", name)?;
|
||||||
eprintln!("using device {}", changer_config.path);
|
log::info!("using device {}", changer_config.path);
|
||||||
return sg_pt_changer::open(&changer_config.path);
|
return sg_pt_changer::open(&changer_config.path);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(device) = param["device"].as_str() {
|
if let Some(device) = param["device"].as_str() {
|
||||||
eprintln!("using device {}", device);
|
log::info!("using device {}", device);
|
||||||
return sg_pt_changer::open(device);
|
return sg_pt_changer::open(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,13 +47,13 @@ fn get_changer_handle(param: &Value) -> Result<File, Error> {
|
|||||||
let drive: LtoTapeDrive = config.lookup("lto", &name)?;
|
let drive: LtoTapeDrive = config.lookup("lto", &name)?;
|
||||||
if let Some(changer) = drive.changer {
|
if let Some(changer) = drive.changer {
|
||||||
let changer_config: ScsiTapeChanger = config.lookup("changer", &changer)?;
|
let changer_config: ScsiTapeChanger = config.lookup("changer", &changer)?;
|
||||||
eprintln!("using device {}", changer_config.path);
|
log::info!("using device {}", changer_config.path);
|
||||||
return sg_pt_changer::open(&changer_config.path);
|
return sg_pt_changer::open(&changer_config.path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(device) = std::env::var("CHANGER") {
|
if let Ok(device) = std::env::var("CHANGER") {
|
||||||
eprintln!("using device {}", device);
|
log::info!("using device {}", device);
|
||||||
return sg_pt_changer::open(device);
|
return sg_pt_changer::open(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,11 +86,11 @@ fn execute_scsi_command<F: AsRawFd>(
|
|||||||
let msg = err.to_string();
|
let msg = err.to_string();
|
||||||
if let Some(ref last) = last_msg {
|
if let Some(ref last) = last_msg {
|
||||||
if &msg != last {
|
if &msg != last {
|
||||||
eprintln!("{}", err);
|
log::error!("{}", err);
|
||||||
last_msg = Some(msg);
|
last_msg = Some(msg);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
eprintln!("{}", err);
|
log::error!("{}", err);
|
||||||
last_msg = Some(msg);
|
last_msg = Some(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user