]> git.proxmox.com Git - proxmox-backup.git/blobdiff - src/bin/proxmox_file_restore/block_driver_qemu.rs
split out proxmox-backup-debug binary
[proxmox-backup.git] / src / bin / proxmox_file_restore / block_driver_qemu.rs
index 46d91198016a632d6fd2208d4dfadf766ceee44f..8954223c92b2c298bdfb06edd5b481e397ecc0dd 100644 (file)
@@ -1,21 +1,21 @@
 //! Block file access via a small QEMU restore VM using the PBS block driver in QEMU
+use std::collections::HashMap;
+use std::fs::{File, OpenOptions};
+use std::io::{prelude::*, SeekFrom};
+
 use anyhow::{bail, Error};
 use futures::FutureExt;
 use serde::{Deserialize, Serialize};
 use serde_json::json;
 
-use std::collections::HashMap;
-use std::fs::{File, OpenOptions};
-use std::io::{prelude::*, SeekFrom};
-
 use proxmox::tools::fs::lock_file;
-use proxmox_backup::api2::types::ArchiveEntry;
-use proxmox_backup::backup::BackupDir;
-use proxmox_backup::client::*;
-use proxmox_backup::tools;
+
+use pbs_client::{DEFAULT_VSOCK_PORT, BackupRepository, VsockClient};
+use pbs_datastore::backup_info::BackupDir;
+use pbs_datastore::catalog::ArchiveEntry;
 
 use super::block_driver::*;
-use crate::proxmox_client_tools::get_user_run_dir;
+use crate::get_user_run_dir;
 
 const RESTORE_VM_MAP: &str = "restore-vm-map.json";
 
@@ -80,7 +80,7 @@ impl VMStateMap {
 
 fn make_name(repo: &BackupRepository, snap: &BackupDir) -> String {
     let full = format!("qemu_{}/{}", repo, snap);
-    tools::systemd::escape_unit(&full, false)
+    pbs_systemd::escape_unit(&full, false)
 }
 
 /// remove non-responsive VMs from given map, returns 'true' if map was modified
@@ -257,7 +257,7 @@ impl BlockRestoreDriver for QemuBlockDriver {
                 let resp = client
                     .get("api2/json/status", Some(json!({"keep-timeout": true})))
                     .await;
-                let name = tools::systemd::unescape_unit(n)
+                let name = pbs_systemd::unescape_unit(n)
                     .unwrap_or_else(|_| "<invalid name>".to_owned());
                 let mut extra = json!({"pid": s.pid, "cid": s.cid});
 
@@ -295,7 +295,7 @@ impl BlockRestoreDriver for QemuBlockDriver {
 
     fn stop(&self, id: String) -> Async<Result<(), Error>> {
         async move {
-            let name = tools::systemd::escape_unit(&id, false);
+            let name = pbs_systemd::escape_unit(&id, false);
             let mut map = VMStateMap::load()?;
             let map_mod = cleanup_map(&mut map.map).await;
             match map.map.get(&name) {
@@ -325,7 +325,7 @@ impl BlockRestoreDriver for QemuBlockDriver {
         match VMStateMap::load_read_only() {
             Ok(state) => state
                 .iter()
-                .filter_map(|(name, _)| tools::systemd::unescape_unit(&name).ok())
+                .filter_map(|(name, _)| pbs_systemd::unescape_unit(&name).ok())
                 .collect(),
             Err(_) => Vec::new(),
         }