]> git.proxmox.com Git - proxmox-backup.git/commitdiff
config/datastore.rs: return empty config if file does not exist
authorDietmar Maurer <dietmar@proxmox.com>
Sat, 16 Feb 2019 09:06:08 +0000 (10:06 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Sat, 16 Feb 2019 09:06:08 +0000 (10:06 +0100)
src/config/datastore.rs

index 704dc0510e86a5273fad03a180914023228ed666..12f229d9297119758d76e34387cd598febc422de 100644 (file)
@@ -40,8 +40,17 @@ pub fn config() -> Result<SectionConfigData, Error> {
     let mut contents = String::new();
 
     try_block!({
-        let mut file = std::fs::File::open(DATASTORE_CFG_FILENAME)?;
-        file.read_to_string(&mut contents)
+        match std::fs::File::open(DATASTORE_CFG_FILENAME) {
+            Ok(mut file) => file.read_to_string(&mut contents),
+            Err(err) => {
+                if err.kind() == std::io::ErrorKind::NotFound {
+                    contents = String::from("");
+                    Ok(0)
+                } else {
+                    Err(err)
+                }
+            }
+        }
     }).map_err(|e| format_err!("unable to read '{}' - {}", DATASTORE_CFG_FILENAME, e))?;
 
     CONFIG.parse(DATASTORE_CFG_FILENAME, &contents)