From b4e96bdcf0b8c74595ae9156d200504f502a96f1 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Apr 2020 19:20:17 +0200 Subject: Fix paths :o --- src/block.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/block.rs b/src/block.rs index cd570bda..ff38d65c 100644 --- a/src/block.rs +++ b/src/block.rs @@ -76,8 +76,7 @@ impl BlockManager { } pub async fn read_block(&self, hash: &Hash) -> Result { - let mut path = self.block_dir(hash); - path.push(hex::encode(hash)); + let path = self.block_path(hash); let mut f = match fs::File::open(&path).await { Ok(f) => f, @@ -112,8 +111,7 @@ impl BlockManager { .map(|x| u64_from_bytes(x.as_ref()) > 0) .unwrap_or(false); if needed { - let mut path = self.data_dir.clone(); - path.push(hex::encode(hash.as_ref())); + let path = self.block_path(hash); let exists = fs::metadata(&path).await.is_ok(); Ok(!exists) } else { @@ -127,6 +125,11 @@ impl BlockManager { path.push(hex::encode(&hash.as_slice()[1..2])); path } + fn block_path(&self, hash: &Hash) -> PathBuf { + let mut path = self.block_dir(hash); + path.push(hex::encode(hash.as_ref())); + path + } pub fn block_incref(&self, hash: &Hash) -> Result<(), Error> { let new_rc = self.rc.merge(&hash, vec![1])?; @@ -187,8 +190,7 @@ impl BlockManager { } async fn resync_iter(&self, hash: &Hash) -> Result<(), Error> { - let mut path = self.data_dir.clone(); - path.push(hex::encode(hash.as_ref())); + let path = self.block_path(hash); let exists = fs::metadata(&path).await.is_ok(); let needed = self -- cgit v1.2.3