Skip to content

Commit e62bf49

Browse files
committed
Optimize cache
1 parent 83ccdf3 commit e62bf49

File tree

5 files changed

+7
-5
lines changed

5 files changed

+7
-5
lines changed

src/fetcher.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,17 @@ pub struct Fetcher {
1313
}
1414

1515
impl Fetcher {
16-
pub fn new(source: &str, cache_directory: &str) -> CvmfsResult<Self> {
16+
pub fn new(source: &str, cache_directory: &str, initialize: bool) -> CvmfsResult<Self> {
1717
let path = Path::new(source);
1818
let source = if path.exists() && path.is_dir() {
1919
format!("{}{}", "file://", source)
2020
} else {
2121
source.into()
2222
};
2323
let cache = Cache::new(cache_directory.into())?;
24-
cache.initialize()?;
24+
if initialize {
25+
cache.initialize()?;
26+
}
2527
Ok(Self { cache, source })
2628
}
2729

src/file_system.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use std::collections::HashMap;
22
use std::ffi::{OsStr, OsString};
33
use std::io::{Read, Seek, SeekFrom};
4-
use std::mem;
54
use std::path::Path;
65
use std::sync::RwLock;
76
use std::time::{Duration, SystemTime};

src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fn main() {
2525
} else {
2626
"/tmp/cvmfs".into()
2727
};
28-
let fetcher = Fetcher::new(repo_url, &repo_cache).expect("Failure creating the fetcher");
28+
let fetcher = Fetcher::new(repo_url, &repo_cache, true).expect("Failure creating the fetcher");
2929
let repository = Repository::new(fetcher).expect("Failure creating the repository");
3030
let file_system = CernvmFileSystem::new(repository).expect("Failure creating the file system");
3131

src/repository.rs

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ impl Repository {
7272
Fetcher::new(
7373
self.fetcher.source.as_str(),
7474
self.fetcher.cache.cache_directory.as_str(),
75+
false,
7576
)?,
7677
)))
7778
} else {

tests/repository_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ fn setup() {
1313
#[test]
1414
fn test_initialization() -> CvmfsResult<()> {
1515
setup();
16-
let fetcher = Fetcher::new("http://cvmfs-stratum-one.cern.ch/opt/boss", TEST_CACHE_PATH)?;
16+
let fetcher = Fetcher::new("http://cvmfs-stratum-one.cern.ch/opt/boss", TEST_CACHE_PATH, true)?;
1717
let mut repo = Repository::new(fetcher)?;
1818
assert_eq!(0, repo.opened_catalogs.len());
1919
assert_eq!("boss.cern.ch", repo.fqrn);

0 commit comments

Comments
 (0)