src/backup/chunk_store.rs: new method chunk_path()
Returns the absolute path.
This commit is contained in:
parent
fcfb84fedf
commit
81a6ce6fde
@ -174,12 +174,7 @@ impl ChunkStore {
|
|||||||
|
|
||||||
pub fn read_chunk(&self, digest:&[u8; 32]) -> Result<DataChunk, Error> {
|
pub fn read_chunk(&self, digest:&[u8; 32]) -> Result<DataChunk, Error> {
|
||||||
|
|
||||||
let mut chunk_path = self.chunk_dir.clone();
|
let (chunk_path, digest_str) = self.chunk_path(digest);
|
||||||
let prefix = digest_to_prefix(digest);
|
|
||||||
chunk_path.push(&prefix);
|
|
||||||
let digest_str = proxmox::tools::digest_to_hex(digest);
|
|
||||||
chunk_path.push(&digest_str);
|
|
||||||
|
|
||||||
let mut file = std::fs::File::open(&chunk_path)
|
let mut file = std::fs::File::open(&chunk_path)
|
||||||
.map_err(|err| format_err!(
|
.map_err(|err| format_err!(
|
||||||
"store '{}', unable to read chunk '{}' - {}", self.name, digest_str, err))?;
|
"store '{}', unable to read chunk '{}' - {}", self.name, digest_str, err))?;
|
||||||
@ -326,11 +321,7 @@ impl ChunkStore {
|
|||||||
|
|
||||||
//println!("DIGEST {}", proxmox::tools::digest_to_hex(digest));
|
//println!("DIGEST {}", proxmox::tools::digest_to_hex(digest));
|
||||||
|
|
||||||
let mut chunk_path = self.chunk_dir.clone();
|
let (chunk_path, digest_str) = self.chunk_path(digest);
|
||||||
let prefix = digest_to_prefix(digest);
|
|
||||||
chunk_path.push(&prefix);
|
|
||||||
let digest_str = proxmox::tools::digest_to_hex(digest);
|
|
||||||
chunk_path.push(&digest_str);
|
|
||||||
|
|
||||||
let lock = self.mutex.lock();
|
let lock = self.mutex.lock();
|
||||||
|
|
||||||
@ -367,6 +358,15 @@ impl ChunkStore {
|
|||||||
Ok((false, encoded_size))
|
Ok((false, encoded_size))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn chunk_path(&self, digest:&[u8; 32]) -> (PathBuf, String) {
|
||||||
|
let mut chunk_path = self.chunk_dir.clone();
|
||||||
|
let prefix = digest_to_prefix(digest);
|
||||||
|
chunk_path.push(&prefix);
|
||||||
|
let digest_str = proxmox::tools::digest_to_hex(digest);
|
||||||
|
chunk_path.push(&digest_str);
|
||||||
|
(chunk_path, digest_str)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn relative_path(&self, path: &Path) -> PathBuf {
|
pub fn relative_path(&self, path: &Path) -> PathBuf {
|
||||||
|
|
||||||
let mut full_path = self.base.clone();
|
let mut full_path = self.base.clone();
|
||||||
|
Loading…
Reference in New Issue
Block a user