]> git.proxmox.com Git - proxmox-backup.git/commitdiff
switch from failure to anyhow
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Fri, 17 Apr 2020 12:11:25 +0000 (14:11 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Fri, 17 Apr 2020 16:43:30 +0000 (18:43 +0200)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
116 files changed:
Cargo.toml
src/api2/access.rs
src/api2/access/acl.rs
src/api2/access/domain.rs
src/api2/access/role.rs
src/api2/access/user.rs
src/api2/admin/datastore.rs
src/api2/backup.rs
src/api2/backup/environment.rs
src/api2/backup/upload_chunk.rs
src/api2/config/datastore.rs
src/api2/config/remote.rs
src/api2/node/dns.rs
src/api2/node/journal.rs
src/api2/node/network.rs
src/api2/node/services.rs
src/api2/node/status.rs
src/api2/node/syslog.rs
src/api2/node/tasks.rs
src/api2/node/time.rs
src/api2/pull.rs
src/api2/reader.rs
src/api2/reader/environment.rs
src/api2/subscription.rs
src/api2/types.rs
src/api2/version.rs
src/auth.rs
src/auth_helpers.rs
src/backup.rs
src/backup/backup_info.rs
src/backup/catalog.rs
src/backup/catalog_shell.rs
src/backup/checksum_reader.rs
src/backup/checksum_writer.rs
src/backup/chunk_store.rs
src/backup/chunk_stream.rs
src/backup/crypt_config.rs
src/backup/crypt_reader.rs
src/backup/crypt_writer.rs
src/backup/data_blob.rs
src/backup/data_blob_reader.rs
src/backup/data_blob_writer.rs
src/backup/datastore.rs
src/backup/dynamic_index.rs
src/backup/fixed_index.rs
src/backup/index.rs
src/backup/key_derivation.rs
src/backup/manifest.rs
src/backup/prune.rs
src/backup/read_chunk.rs
src/bin/cipherbench.rs
src/bin/completion.rs
src/bin/download-speed.rs
src/bin/dump-backup-api.rs
src/bin/dump-catalog-shell-cli.rs
src/bin/dump-reader-api.rs
src/bin/dynamic-files.rs
src/bin/h2client.rs
src/bin/h2s-client.rs
src/bin/h2s-server.rs
src/bin/h2server.rs
src/bin/proxmox-backup-api.rs
src/bin/proxmox-backup-client.rs
src/bin/proxmox-backup-manager.rs
src/bin/proxmox-backup-proxy.rs
src/bin/pxar.rs
src/bin/test_chunk_size.rs
src/bin/test_chunk_speed2.rs
src/bin/upload-speed.rs
src/client/backup_reader.rs
src/client/backup_repo.rs
src/client/backup_writer.rs
src/client/http_client.rs
src/client/merge_known_chunks.rs
src/client/pipe_to_stream.rs
src/client/pxar_backup_stream.rs
src/client/pxar_decode_writer.rs
src/client/remote_chunk_reader.rs
src/client/task_log.rs
src/config.rs
src/config/acl.rs
src/config/cached_user_info.rs
src/config/datastore.rs
src/config/remote.rs
src/config/user.rs
src/pxar/catalog.rs
src/pxar/decoder.rs
src/pxar/dir_stack.rs
src/pxar/encoder.rs
src/pxar/format_definition.rs
src/pxar/fuse.rs
src/pxar/match_pattern.rs
src/pxar/sequential_decoder.rs
src/server/command_socket.rs
src/server/formatter.rs
src/server/h2service.rs
src/server/rest.rs
src/server/state.rs
src/server/upid.rs
src/server/worker_task.rs
src/tools.rs
src/tools/broadcast_future.rs
src/tools/daemon.rs
src/tools/file_logger.rs
src/tools/format.rs
src/tools/fs.rs
src/tools/lru_cache.rs
src/tools/process_locker.rs
src/tools/std_channel_writer.rs
src/tools/ticket.rs
src/tools/wrapped_reader_stream.rs
tests/blob_writer.rs
tests/catar.rs
tests/prune.rs
tests/verify-api.rs
tests/worker-task-abort.rs

index ea4c8bffe96df7c5895344463240f2e000ee5cd5..f169f06587794d2a838d75321eb7c78319d8242c 100644 (file)
@@ -19,7 +19,7 @@ bytes = "0.5"
 chrono = "0.4" # Date and time library for Rust
 crc32fast = "1"
 endian_trait = { version = "0.6", features = ["arrays"] }
-failure = "0.1"
+anyhow = "1.0"
 futures = "0.3"
 h2 = { version = "0.2", features = ["stream"] }
 http = "0.2"
@@ -34,7 +34,7 @@ pam = "0.7"
 pam-sys = "0.5"
 percent-encoding = "2.1"
 pin-utils = "0.1.0-alpha"
-proxmox = { version = "0.1.21", features = [ "sortable-macro", "api-macro" ] }
+proxmox = { version = "0.1.22", features = [ "sortable-macro", "api-macro" ] }
 #proxmox = { git = "ssh://gitolite3@proxdev.maurer-it.com/rust/proxmox", version = "0.1.2", features = [ "sortable-macro", "api-macro" ] }
 #proxmox = { path = "../proxmox/proxmox", features = [ "sortable-macro", "api-macro" ] }
 regex = "1.2"
index 8a483b5db924fa79fd40450df7ff603ea12671a6..ab76c0d538e6168041ae98726c7eb45b62799caf 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use serde_json::{json, Value};
 
index 74791afaa97b72823c4f9714f475ebcaa3fda773..d18b39763279be13f683b5d1a713d97d5e46950a 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use ::serde::{Deserialize, Serialize};
 
 use proxmox::api::{api, Router, RpcEnvironment, Permission};
index f899e59f2965d44f23afedb65c47e71beef67c8e..1ee35a03fa82e5d3b77665df9747f852ad3f473b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use serde_json::{json, Value};
 
index 8d73e8af364335af09348377833833ed8f8391e8..bdf51fa3ef54e61fecaccdb70239dbc7b3630880 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::Error;
 
 use serde_json::{json, Value};
 
index 5cd7ef78b525b764a1e616005bb0cb68ddf17427..c59ac78c8ec5d2fd5c9479c363b9740219e6aa45 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::Value;
 
 use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission};
index 09f92b0bece36fe9119a4fc02ffd3bfa5c68c51d..1109521a942819cba8d0d91d21d179a85597cdcf 100644 (file)
@@ -2,7 +2,7 @@ use std::collections::{HashSet, HashMap};
 use std::convert::TryFrom;
 
 use chrono::{TimeZone, Local};
-use failure::*;
+use anyhow::{bail, Error};
 use futures::*;
 use hyper::http::request::Parts;
 use hyper::{header, Body, Response, StatusCode};
index 7f9f89f679d963ddc2fce94ce5d7e4085b0c68e9..38af92afec91f5b9d394823bb3a948d04ba272c8 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use hyper::header::{HeaderValue, UPGRADE};
 use hyper::http::request::Parts;
index edef9b8833a16b662a9ef76865ba58d29f58293f..863ad7647c1b0010deda14b44e44a1dd84e05421 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use std::sync::{Arc, Mutex};
 use std::collections::HashMap;
 
index 3fc457b0f67b6d39a0cd0162807631628ca273f7..483ced3ca0e7628c8f0ea0f5391d596bfcfad1dc 100644 (file)
@@ -2,7 +2,7 @@ use std::pin::Pin;
 use std::sync::Arc;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use hyper::Body;
 use hyper::http::request::Parts;
index 464ee6d026714190eab339f682300115218b625d..a388737d9ea4d6573b8009cda6657100813f4c2e 100644 (file)
@@ -1,6 +1,6 @@
 use std::path::PathBuf;
 
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::Value;
 
 use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission};
index 86f094451b6d1a66c520bdbc8479a075481096c5..5dcd673930863415de7b3ec334402d450a4c1058 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::Value;
 
 use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission};
index 419973e947f74567af71557745180ea7e0663e55..b87f6a53a1cdc3077e99e4a3f595d1e14d52cec3 100644 (file)
@@ -1,6 +1,6 @@
 use std::sync::{Arc, Mutex};
 
-use failure::*;
+use anyhow::{Error};
 use lazy_static::lazy_static;
 use openssl::sha;
 use regex::Regex;
index 494968c6c9f926065a77fd1f1bf878c430f68c87..2c38c959045d0ad8c0777ed2a18be4c6d62a701f 100644 (file)
@@ -1,6 +1,6 @@
 use std::process::{Command, Stdio};
 
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 use std::io::{BufRead,BufReader};
 
index 42627e789aa18f15a91c4d3173b45b6742152688..1f47db131208fb147dd10683628c29dc22c3d81b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, Router, Permission};
index fc8c01e70fd2d21132b1c2b7136e91243ae33ae1..dc539161478d1d670b9347328e25b5b0c449cecb 100644 (file)
@@ -1,6 +1,6 @@
 use std::process::{Command, Stdio};
 
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::{json, Value};
 
 use proxmox::{sortable, identity, list_subdirs_api_method};
index 8237ee3906f0a2ddfb87c981fcfeaa5f9e8944e3..0daba1e6d23cab1e3af3d7c9e5b343787fab71bf 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::sys::linux::procfs;
index 55b3bd5c0e246452ac31e62ff30976fd71946a1c..3e603a25a5aa1d9005fb3a6bbb0ec6585504b992 100644 (file)
@@ -1,6 +1,6 @@
 use std::process::{Command, Stdio};
 
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission};
index 4e1b3021fa970d38ea4810714fdd73752109fc71..79811e2054f755dfcc0155ff2442964b76b04c08 100644 (file)
@@ -1,7 +1,7 @@
 use std::fs::File;
 use std::io::{BufRead, BufReader};
 
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, Router, RpcEnvironment, Permission};
index a87e8a0e908874e6eb604c920a8797473fb4b740..cfec80be11a93951f599cb2ad5b060e61a3f2364 100644 (file)
@@ -1,7 +1,7 @@
 use std::mem::{self, MaybeUninit};
 
 use chrono::prelude::*;
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, Router, Permission};
index e1a5a27659d49531ed66e048142d5b870536bb02..8b8673671dac57043769d185d40ebe7af2a3c02e 100644 (file)
@@ -1,6 +1,6 @@
 //! Sync datastore from remote server
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use serde_json::json;
 use std::convert::TryFrom;
 use std::sync::Arc;
index f8fc5a19a2acc875627342ac8ea048a578784382..085e700f08feccbac4d097eb1d352f5ae47d4df4 100644 (file)
@@ -1,5 +1,5 @@
 //use chrono::{Local, TimeZone};
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use hyper::header::{self, HeaderValue, UPGRADE};
 use hyper::http::request::Parts;
index b56d9e6eb19831656b4d5d4e07c2b53c1f4c138d..a5a5fe23ef1db3cc348cd36aa2205d239e532654 100644 (file)
@@ -1,4 +1,4 @@
-//use failure::*;
+//use anyhow::{bail, format_err, Error};
 use std::sync::Arc;
 use std::collections::HashMap;
 
index f88f2d7dc008edd64dcf013f4ed59957801e15ae..7d1b0237c4344778c0a63ecd01dab0481033f86c 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, Router, Permission};
index 2b0f1c7d0ae3ae2768c5d01467681436bab4988e..94d5217d7a528242e0f226720e9eead1d1747186 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail};
 use ::serde::{Deserialize, Serialize};
 
 use proxmox::api::{api, schema::*};
index 4935990f8f70d16f4114329e5c50377bd0e8a0a3..91de0be6d9a8f9ae12cfc3be36cfa0fb06f37a5f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{ApiHandler, ApiMethod, Router, RpcEnvironment, Permission};
index e011cdcc8dba2d5e241f433758783df6a7ddc726..768dd2b8345a9311164505d2810af1e9414f2300 100644 (file)
@@ -7,7 +7,7 @@ use std::io::Write;
 use std::ffi::{CString, CStr};
 
 use base64;
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use serde_json::json;
 
 pub trait ProxmoxAuthenticator {
index bca58bdfea1fbe8728e4ff7e2f05995cf5411f7c..6243dafdc875d046f4462b74a695733fb240a8ee 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use lazy_static::lazy_static;
 
 use openssl::rsa::{Rsa};
index 1983007733c006c41595bf25eb84331f4ca9c1c9..7a2bf1ca6ebb6d097479938b97fc5d5d5f8c02c5 100644 (file)
 //!
 //! Not sure if this is better. TODO
 
-use failure::*;
+use anyhow::{bail, Error};
 
 // Note: .pcat1 => Proxmox Catalog Format version 1
 pub const CATALOG_NAME: &str = "catalog.pcat1.didx";
index 747a7f0e67e488d34cc2efe13e484cf52ef745c7..60b61f89efa8690950857f190d0654c51bcc3a51 100644 (file)
@@ -1,6 +1,6 @@
 use crate::tools;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use regex::Regex;
 use std::os::unix::io::RawFd;
 
index cf294448ce95d177f7d935fa1843064672bccde9..8d54fe37a0e1b2deea1d660e952b4620bb067adb 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use std::fmt;
 use std::ffi::{CStr, CString, OsStr};
 use std::os::unix::ffi::OsStrExt;
index 036e763e33a1657ec4144727bda2406c09ad616b..2f30ea2afda06b7e7f2668029b962a6c2f6b84cd 100644 (file)
@@ -7,7 +7,7 @@ use std::os::unix::ffi::OsStrExt;
 use std::path::{Component, Path, PathBuf};
 
 use chrono::{Utc, offset::TimeZone};
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use nix::sys::stat::{Mode, SFlag};
 
 use proxmox::api::{cli::*, *};
index 4b90349d4bc73a13dbaceb50d41893a742b0c6cf..a4fbce5972f52fb8497b9ff17e92b029aa569bec 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::sync::Arc;
 use std::io::Read;
 
index c9c3fabce2c2595ccd79d3f87e95b64c367afa60..1167be6c143d0c4db3debe288977edeaf991af1b 100644 (file)
@@ -1,7 +1,7 @@
 use std::sync::Arc;
 use std::io::Write;
 
-use failure::*;
+use anyhow::{Error};
 
 use super::CryptConfig;
 use crate::tools::borrow::Tied;
index 906b0f7dfd5c90619e470663476d3159036863d5..7ea0cb5f29ee5ba365077de6cd6cdbfabed4686b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use std::path::{Path, PathBuf};
 use std::io::Write;
index 2d2a95c735872efda23c9dee6601e0517915566e..5bb061583df2439ede2d661836d71f447fadc7fc 100644 (file)
@@ -2,7 +2,7 @@ use std::pin::Pin;
 use std::task::{Context, Poll};
 
 use bytes::BytesMut;
-use failure::*;
+use anyhow::{Error};
 use futures::ready;
 use futures::stream::{Stream, TryStream};
 
index bb053ae8fee0393bf13c7720f6fbf603bdbe48b0..771d41e01e5156d5afa12c76a8d6c0c2a9d389a8 100644 (file)
@@ -6,7 +6,7 @@
 //! See the Wikipedia Artikel for [Authenticated
 //! encryption](https://en.wikipedia.org/wiki/Authenticated_encryption)
 //! for a short introduction.
-use failure::*;
+use anyhow::{bail, Error};
 use openssl::pkcs5::pbkdf2_hmac;
 use openssl::hash::MessageDigest;
 use openssl::symm::{decrypt_aead, Cipher, Crypter, Mode};
index 23bbd98a29fe0ccc40ef82d89300ec6978459efa..ee2e625a69415dd5894bcec30f08eeb12dae118f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use std::sync::Arc;
 use std::io::{Read, BufRead};
 
index bb3294f18d43bf188cae514a0133970b654e77d0..a75f91b2dbe562ec1623e4cec242eb5f8bf7a64b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::sync::Arc;
 use std::io::Write;
 
index 3a5a05e0dbd0ecda64169e4a3b1f277777c13cd3..03bbfec9aef93775e7ce78ffe811c67c87b83d18 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use std::convert::TryInto;
 
 use proxmox::tools::io::{ReadExt, WriteExt};
index 9ae112ad51e9df19a6fc845698734bea465cf664..62caa5ce02e12350a823c12a615c09725fa51cb7 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use std::sync::Arc;
 use std::io::{Read, BufReader};
 use proxmox::tools::io::ReadExt;
index e843cd0691430fb53f30df55ed4f1703a77d15db..4ff01957a53eba2914fad5b75911dd127ce6724f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::sync::Arc;
 use std::io::{Write, Seek, SeekFrom};
 use proxmox::tools::io::WriteExt;
index 3ee48fee799ebbe4b0eb526805f79558f2ba4e24..24ae4e0c1c01020417380ec2f4a811df2450628f 100644 (file)
@@ -3,7 +3,7 @@ use std::io;
 use std::path::{Path, PathBuf};
 use std::sync::{Arc, Mutex};
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use lazy_static::lazy_static;
 use chrono::{DateTime, Utc};
 
index bc65da2245e04cb2ef1c082003bc7eeb12034db3..d6115b83ae4d5bf7916b31b57b086bd867c6953b 100644 (file)
@@ -5,7 +5,7 @@ use std::os::unix::io::AsRawFd;
 use std::path::{Path, PathBuf};
 use std::sync::Arc;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use proxmox::tools::io::ReadExt;
 use proxmox::tools::uuid::Uuid;
@@ -275,7 +275,7 @@ struct ChunkCacher<'a, S> {
 }
 
 impl<'a, S: ReadChunk> crate::tools::lru_cache::Cacher<usize, (u64, u64, Vec<u8>)> for ChunkCacher<'a, S> {
-    fn fetch(&mut self, index: usize) -> Result<Option<(u64, u64, Vec<u8>)>, failure::Error> {
+    fn fetch(&mut self, index: usize) -> Result<Option<(u64, u64, Vec<u8>)>, anyhow::Error> {
         let (start, end, digest) = self.index.chunk_info(index)?;
         self.store.read_chunk(&digest).and_then(|data| Ok(Some((start, end, data))))
     }
index d372632004f05578f403235b8b4b3174cecc10b2..f21b2d03905e67926f656dc276fd3f4c4269d13a 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use std::convert::TryInto;
 use std::io::{Seek, SeekFrom};
 
index 977ed109c0551b40b02cc6b4719107c94a9e5585..4398161c8b44300675613e352991afa26d959d05 100644 (file)
@@ -3,7 +3,7 @@ use std::pin::Pin;
 use std::task::{Context, Poll};
 
 use bytes::{Bytes, BytesMut};
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::*;
 
 /// Trait to get digest list from index files
index 547eed96fdfa2ba2cf977097fc15a08923be21a3..37d4688b566397de4c2038a0ba47b4f737982da2 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use serde::{Deserialize, Serialize};
 use chrono::{Local, TimeZone, DateTime};
index ec08f7233308c60c5b2d060e25be567f103fdbfc..1efa2ba206633f7adc39aef4ec1b95ed51e58178 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use std::convert::TryFrom;
 use std::path::Path;
 
index eb03891a9bef4be31049c158841988b5cc570cb8..bd7cf3b11c706905f301a87c266811d17f25ac90 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::collections::{HashMap, HashSet};
 use std::path::PathBuf;
 
index 9662ea8ea904b78525f02054442f3851c67dd26b..42b281c7b2564ea518ba500d2045caad0839287f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::sync::Arc;
 
 use super::datastore::*;
index 5bf147eabb03d050ce55d228644e7deaf0e3dff4..581c101a3e860d3a07c32e2ac9f23cd8a7b2dc8e 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 //  chacha20-poly1305
 
index cbeec36538776ac4f17516d0f19d9f0cf6d41b41..6e5630bdc4c59f0d401e0f1b8f75e320ee5d0e43 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use proxmox::api::{*, cli::*};
 
index 7df0454ed05aebf07c038d22cc2eb6ecf982488d..dbb982b51c8706412882dbe4da3e8a71b6524128 100644 (file)
@@ -1,6 +1,6 @@
 use std::io::Write;
 
-use failure::*;
+use anyhow::{Error};
 
 use chrono::{DateTime, Utc};
 
index 3a15dd15ef2c147fecef7ef29bd307d43e076f34..4cb908bce68ad351b7d19587b7f9b41d906bb54f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use proxmox::api::format::*;
 
index 4a2553e17b47b3620bed08bd0ea3a6fc827cf921..7dcb9dc16504d5c863f363ac9901ddb0584aa319 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use proxmox::api::format::*;
 use proxmox::api::cli::*;
index 252ec728285249b5713889a3cf68c7173ad66fcd..5abd96c604909b16798a7fbaec21c0882f9f002c 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use proxmox::api::format::dump_api;
 
index 97ce95315a33bc68a40b785b67d0c19c6ad21eb1..9d001f5c90bb9f053d42be0a952b07cf5ef0a434 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 
 use std::thread;
 use std::path::PathBuf;
index b82ec55d3f4f62e15c7fd958e4fb79b44eb42bc3..87a6e32623edd65260a0f1b4c4835f432edc423e 100644 (file)
@@ -2,7 +2,7 @@ use std::future::Future;
 use std::pin::Pin;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{Error};
 use futures::future::TryFutureExt;
 use futures::stream::Stream;
 use tokio::net::TcpStream;
index 6c848cd2171b8d95694d3021ef6947dabb90f05a..0d6beaef1cc24d68972b90e736f1d8a583357851 100644 (file)
@@ -2,7 +2,7 @@ use std::future::Future;
 use std::pin::Pin;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::future::TryFutureExt;
 use futures::stream::Stream;
 
index 5218ccccecee5130392c5f205b5f51364a0a71ee..8481b8adde62bbedbeacccd5a2eb36340221e8bb 100644 (file)
@@ -1,6 +1,6 @@
 use std::sync::Arc;
 
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::*;
 use hyper::{Request, Response, Body};
 use openssl::ssl::{SslMethod, SslAcceptor, SslFiletype};
index 5e31288d44d0c839db5f687a79c73a00bdd91124..1669347f38a8461e2117aab0df71dc2c969b341f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use futures::*;
 
 // Simple H2 server to test H2 speed with h2client.rs
index 4dca9bcb5e43242a5b2d715e4f82f75075c3ca69..f5e8bbe6e106378eaa6dfc9eed24b5129a297fd7 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use futures::*;
 
 use proxmox::try_block;
index 00e57d71281a94c0f2608053ecf0abc1fde5727b..b54cd729c046f8a239b5fa1bb7cd06f7ce78372e 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use nix::unistd::{fork, ForkResult, pipe};
 use std::os::unix::io::RawFd;
 use chrono::{Local, DateTime, Utc, TimeZone};
index d1b91a56561dfd943e98059ba6d0cb7a2f796eda..c71900d8bcd67de5d99d19c42254b6924be719b0 100644 (file)
@@ -1,7 +1,7 @@
 use std::path::PathBuf;
 use std::collections::HashMap;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use serde_json::{json, Value};
 
 use proxmox::api::{api, cli::*, RpcEnvironment, ApiHandler};
index 82e7af9af837b6e2ca2452a8391c1ea2090d4d9b..f1612e6957c15eb0db8814672622baa5220c3e7a 100644 (file)
@@ -1,6 +1,6 @@
 use std::sync::Arc;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use hyper;
 use openssl::ssl::{SslMethod, SslAcceptor, SslFiletype};
index bcbce4ff2278ecafbe987132a20246f4558d7a83..5d18b28d577ddcb860638d45de48a4f871d58791 100644 (file)
@@ -1,6 +1,6 @@
 extern crate proxmox_backup;
 
-use failure::*;
+use anyhow::{format_err, Error};
 
 use proxmox::{sortable, identity};
 use proxmox::api::{ApiHandler, ApiMethod, RpcEnvironment};
index dcd6b424193cf5e70b57594fcbd883288cac8653..4062d2359364f2b7f9f5acae892c4be24c7b01b8 100644 (file)
@@ -2,7 +2,7 @@ extern crate proxmox_backup;
 
 // also see https://www.johndcook.com/blog/standard_deviation/
 
-use failure::*;
+use anyhow::{Error};
 use std::io::{Read, Write};
 
 use proxmox_backup::backup::*;
index 7d061a5dce141697f98f666eb34142d5606b6d56..b68fd54e75964cb091df2531d130c86866ff250e 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use futures::*;
 
 extern crate proxmox_backup;
index 9fec13e548409fd9703f5d3266ad95d64b8524d9..b7d617605ad59875afe90ec6b6dc81473fa6a071 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use proxmox_backup::client::*;
 
index 2a8b01944996eb77c1d82f3541f06925e7c1b233..f7310134505fc980af0556032d35c70c64a37237 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{format_err, Error};
 use std::io::{Read, Write, Seek, SeekFrom};
 use std::fs::File;
 use std::sync::Arc;
index 116f349bf027ab7602f894c1919bcfc15049f092..bf3bb1fa86e1c1023c66fd206e303b08509c1fee 100644 (file)
@@ -1,6 +1,6 @@
 use std::fmt;
 
-use failure::*;
+use anyhow::{format_err, Error};
 
 use proxmox::api::schema::*;
 use proxmox::const_regex;
index c1cc33a690178571e1363c703fddecf65dd14812..9df1035b0db5df2e774b925d517661684c917663 100644 (file)
@@ -2,7 +2,7 @@ use std::collections::HashSet;
 use std::sync::atomic::{AtomicUsize, Ordering};
 use std::sync::{Arc, Mutex};
 
-use failure::*;
+use anyhow::{format_err, Error};
 use chrono::{DateTime, Utc};
 use futures::*;
 use futures::stream::Stream;
index c15a8ecac67e332ee19f4b48f66df77611c1f52d..ede41eda616d63a5d43022931b2881e26217332f 100644 (file)
@@ -3,7 +3,7 @@ use std::task::{Context, Poll};
 use std::sync::{Arc, Mutex};
 
 use chrono::Utc;
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use http::Uri;
 use http::header::HeaderValue;
index 9359bffc49434c2a7b8054bae58e68f934768d9e..1f278d32053ba55ac2d767283ac33142b3b36316 100644 (file)
@@ -1,7 +1,7 @@
 use std::pin::Pin;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{Error};
 use futures::*;
 
 use crate::backup::ChunkInfo;
index f6a6a4be5d52c92fb8f5415aed0b6e8c1c8bc94d..63a2d818f8d9aef927fe1a1596085fb7e0cd23ec 100644 (file)
@@ -6,7 +6,7 @@ use std::pin::Pin;
 use std::task::{Context, Poll};
 
 use bytes::Bytes;
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::{ready, Future};
 use h2::SendStream;
 
index 80ba52f0d242d14b3da82d140f52d8d4d37c109d..0c7659bc77eba52d69090088b61ae31d9e5d1f9d 100644 (file)
@@ -7,7 +7,7 @@ use std::sync::{Arc, Mutex};
 use std::task::{Context, Poll};
 use std::thread;
 
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::stream::Stream;
 
 use nix::fcntl::OFlag;
index 73b881372737c0976d7b585ddd9d1046c7ea579c..5072ff101bc18608a7840c69612de4fec88a54fa 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use std::thread;
 use std::os::unix::io::FromRawFd;
index d997d3504ba5b67784369c8995df15633b6c584d..3a6cb2559ba631d7b027e6eece226d02c6eec95a 100644 (file)
@@ -1,7 +1,7 @@
 use std::collections::HashMap;
 use std::sync::Arc;
 
-use failure::*;
+use anyhow::{Error};
 
 use super::BackupReader;
 use crate::backup::{ReadChunk, DataBlob, CryptConfig};
index 838e81b46f169d1dcb3d77c4b86312162aba9db6..4db2a8e04fe84c0ac5a82bb835a8f0583f759b8f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use serde_json::json;
 
 use super::HttpClient;
index f7d904fa9e4dcaa174837a86fe4461c2e854bfce..48d1e8e9ffdd6f3cc21acfd506069dbeca34662d 100644 (file)
@@ -3,7 +3,7 @@
 //! This library contains helper to read, parse and write the
 //! configuration files.
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use std::path::PathBuf;
 use nix::sys::stat::Mode;
 use openssl::rsa::{Rsa};
index adf1b9a60827f411da7fb9029196bd6a00fd6763..b3c783e8a41a7c77d6a4ac0b9d5b7280c79109a7 100644 (file)
@@ -3,7 +3,7 @@ use std::collections::{HashMap, HashSet, BTreeMap, BTreeSet};
 use std::path::{PathBuf, Path};
 use std::sync::{Arc, RwLock};
 
-use failure::*;
+use anyhow::{bail, Error};
 
 use lazy_static::lazy_static;
 
@@ -520,7 +520,7 @@ pub fn save_config(acl: &AclTree) -> Result<(), Error> {
 #[cfg(test)]
 mod test {
 
-    use failure::*;
+    use anyhow::{Error};
     use super::AclTree;
 
     fn check_roles(
index 15520f7838830e05b7ceb466cef577c60624880d..342af14572a4b4741905236a4df8e7c863755e83 100644 (file)
@@ -2,7 +2,7 @@
 
 use std::sync::Arc;
 
-use failure::*;
+use anyhow::{Error};
 
 use proxmox::api::section_config::SectionConfigData;
 use proxmox::api::UserInformation;
index d3dad4dbf4a562e3fc9627b836ed33dd1ade5ce9..3171d52dcb296423a552e9f9cacf41b956c540a1 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use lazy_static::lazy_static;
 use std::collections::HashMap;
 use serde::{Serialize, Deserialize};
index bb9f87d29e59725ab424ce6fd6c9de38cdea8440..62c45ad37941fdd975e3dc4be98a97b61a970410 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use lazy_static::lazy_static;
 use std::collections::HashMap;
 use serde::{Serialize, Deserialize};
index fc74ed940023de234a1b7409af083faff4b4e51d..813239597ed19ceb2e3a4cfa28f81ee450d157f7 100644 (file)
@@ -1,7 +1,7 @@
 use std::collections::HashMap;
 use std::sync::{Arc, RwLock};
 
-use failure::*;
+use anyhow::{bail, Error};
 use lazy_static::lazy_static;
 use serde::{Serialize, Deserialize};
 use serde_json::json;
index e56b3c4afec05e1d4320ca4716a809c30507e645..c2088af29b60697a392d2186d7709b5f048180e7 100644 (file)
@@ -3,7 +3,7 @@
 //! A file list catalog simply store a directory tree. Such catalogs
 //! may be used as index to do a fast search for files.
 
-use failure::*;
+use anyhow::{Error};
 use std::ffi::CStr;
 
 pub trait BackupCatalogWriter {
index 023be6da55ffc9ee845ecb59223fded986aa10d7..2512adaf14e6c963b091b2b35f3207bac17689e7 100644 (file)
@@ -8,7 +8,7 @@ use std::io::{Read, Seek, SeekFrom};
 use std::path::{Path, PathBuf};
 use std::os::unix::ffi::OsStrExt;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use libc;
 
 use super::binary_search_tree::search_binary_tree_by;
index 34d52bdf6c4cfe6ff8d694763e9e11579c5f7445..9874ea816f095f95241c073a21fcd1c01f54de77 100644 (file)
@@ -2,7 +2,7 @@ use std::ffi::{OsStr, OsString};
 use std::os::unix::io::{AsRawFd, RawFd};
 use std::path::PathBuf;
 
-use failure::{format_err, Error};
+use anyhow::{format_err, Error};
 use nix::errno::Errno;
 use nix::fcntl::OFlag;
 use nix::sys::stat::Mode;
index 6559a551e710e8874109734e06a6a5092bd92807..902248aef6452109ef5930e1b88c0e702fd48a97 100644 (file)
@@ -10,7 +10,7 @@ use std::os::unix::io::RawFd;
 use std::path::{Path, PathBuf};
 
 use endian_trait::Endian;
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use nix::errno::Errno;
 use nix::fcntl::OFlag;
 use nix::sys::stat::FileStat;
index 75c2edcf382b8392506fdbfb74dc76593af2849a..02ea421f41efbdd9142cebae4d8c95182189c4d1 100644 (file)
@@ -7,7 +7,7 @@
 use std::cmp::Ordering;
 
 use endian_trait::Endian;
-use failure::{bail, Error};
+use anyhow::{bail, Error};
 use siphasher::sip::SipHasher24;
 
 
index d8b53e0a218c96e241ca72c093f2c833b6d471ac..74108d97945fffbc75918d4ec441d6e9144c18d0 100644 (file)
@@ -11,7 +11,7 @@ use std::os::unix::ffi::OsStrExt;
 use std::path::Path;
 use std::sync::Mutex;
 
-use failure::{bail, format_err, Error};
+use anyhow::{bail, format_err, Error};
 use libc;
 use libc::{c_char, c_int, c_void, size_t};
 
index e14036b3e746683aa5f3e78748f4946adbc0aebe..9b979669b3215e9fe5c2008bd14f56d8320d65d1 100644 (file)
@@ -10,7 +10,7 @@ use std::fs::File;
 use std::io::Read;
 use std::os::unix::io::{FromRawFd, RawFd};
 
-use failure::{bail, Error};
+use anyhow::{bail, Error};
 use libc::{c_char, c_int};
 use nix::errno::Errno;
 use nix::fcntl;
@@ -44,7 +44,7 @@ pub enum MatchType {
 /// ```
 /// # use std::ffi::CString;
 /// # use self::proxmox_backup::pxar::{MatchPattern, MatchType};
-/// # fn main() -> Result<(), failure::Error> {
+/// # fn main() -> Result<(), anyhow::Error> {
 /// let filename = CString::new("some.conf")?;
 /// let is_dir = false;
 ///
@@ -223,7 +223,7 @@ impl<'a> MatchPatternSlice<'a> {
     /// original pattern.
     /// ```
     /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType};
-    /// # fn main() -> Result<(), failure::Error> {
+    /// # fn main() -> Result<(), anyhow::Error> {
     /// let pattern = MatchPattern::from_line(b"some/match/pattern/")?.unwrap();
     /// let slice = pattern.as_slice();
     /// let front = slice.get_front_pattern();
@@ -246,7 +246,7 @@ impl<'a> MatchPatternSlice<'a> {
     /// If no slash is encountered, the `MatchPatternSlice` will be empty.
     /// ```
     /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType};
-    /// # fn main() -> Result<(), failure::Error> {
+    /// # fn main() -> Result<(), anyhow::Error> {
     /// let pattern = MatchPattern::from_line(b"some/match/pattern/")?.unwrap();
     /// let slice = pattern.as_slice();
     /// let rest = slice.get_rest_pattern();
@@ -379,7 +379,7 @@ impl<'a> MatchPatternSlice<'a> {
     /// ```
     /// # use std::ffi::CString;
     /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType};
-    /// # fn main() -> Result<(), failure::Error> {
+    /// # fn main() -> Result<(), anyhow::Error> {
     /// let patterns = vec![
     ///     MatchPattern::from_line(b"some/match/pattern/")?.unwrap(),
     ///     MatchPattern::from_line(b"to_match/")?.unwrap()
@@ -454,7 +454,7 @@ impl<'a> MatchPatternSlice<'a> {
     /// ```
     /// # use std::ffi::CString;
     /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType};
-    /// # fn main() -> Result<(), failure::Error> {
+    /// # fn main() -> Result<(), anyhow::Error> {
     /// let patterns = vec![
     ///     MatchPattern::from_line(b"some/match/pattern/")?.unwrap(),
     ///     MatchPattern::from_line(b"to_match/")?.unwrap()
index 78d8f3e40a98043265aa4e5a0fab2845ce1fdb1a..e17fa8261a656f20e605fd41245ca6b617af571e 100644 (file)
@@ -11,7 +11,7 @@ use std::os::unix::io::RawFd;
 use std::path::{Path, PathBuf};
 
 use endian_trait::Endian;
-use failure::{bail, format_err, Error};
+use anyhow::{bail, format_err, Error};
 use nix::errno::Errno;
 use nix::fcntl::OFlag;
 use nix::sys::stat::Mode;
index 6baefe192f0062e95d84accd9f0547fc2dc6f51c..8e2d3f64691c11dca0123a1f21cf0b48aa722556 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use futures::*;
 
index d8cfc1b37a8badc318d7553287e2b80bf9e02922..47b9b998acb083aff9a0ce54d61429c7d1b93746 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::{json, Value};
 
 use hyper::{Body, Response, StatusCode};
index 8682dc8d48fe8f196eea975e818a9e3ccffd89d4..9689b282cfadaca8032b5c0a067ffdd8d6ad832f 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use std::collections::HashMap;
 use std::sync::Arc;
index 64a1bf6ed89be9208d1b3630c5f1b8955bec8810..27ac93f25fa9e80d024cbe0180588630a90ffa54 100644 (file)
@@ -6,7 +6,7 @@ use std::pin::Pin;
 use std::sync::Arc;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::future::{self, FutureExt, TryFutureExt};
 use futures::stream::TryStreamExt;
 use hyper::header;
index 251931e32bd369637d321f8faba1010d6c6f63da..41e910ddcc96dd704982dd093371a6303d69f6d3 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use lazy_static::lazy_static;
 use std::sync::Mutex;
 
index 6dc68fcb74751c360af4248e752de84e35acb4b7..fc837207b1abb10d458ec8ec79d4190ec58e2103 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use lazy_static::lazy_static;
 use regex::Regex;
 use chrono::Local;
index eb012f1ecfe45706f6af97b4e24740b6aab374d6..aa8f1bf355668da9354070e5b69449d4f72f245a 100644 (file)
@@ -6,7 +6,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
 use std::sync::{Arc, Mutex};
 
 use chrono::Local;
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use futures::*;
 use lazy_static::lazy_static;
 use nix::unistd::Pid;
index c3c4541df928bd0d6f7818663a652376f1627025..fa93796b660ff747c5b1f7367a2d27207cff11a9 100644 (file)
@@ -11,7 +11,7 @@ use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
 use std::path::Path;
 use std::time::Duration;
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 use serde_json::Value;
 use openssl::hash::{hash, DigestBytes, MessageDigest};
 use percent_encoding::AsciiSet;
index 8a15bd65b00b67642f90695f797c3e3199990781..da627d010ffef606889f1a07a5fc8ab9135d11ea 100644 (file)
@@ -2,7 +2,7 @@ use std::future::Future;
 use std::pin::Pin;
 use std::sync::{Arc, Mutex};
 
-use failure::*;
+use anyhow::{format_err, Error};
 use futures::future::{FutureExt, TryFutureExt};
 use tokio::sync::oneshot;
 
index 7f367fe704e8f1cb74136825ac59d7ccc11e7c6e..10921000f4e6a6013b1726b438aa44a033143728 100644 (file)
@@ -9,7 +9,7 @@ use std::panic::UnwindSafe;
 use std::pin::Pin;
 use std::task::{Context, Poll};
 
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use proxmox::tools::io::{ReadExt, WriteExt};
 
index 0861724dc0ac47741440a765880822b97948f124..c2c5aab7e792416e44345871304f6cf00518873d 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use chrono::{TimeZone, Local};
 use std::io::Write;
 
@@ -10,7 +10,7 @@ use std::io::Write;
 /// #### Example:
 /// ```
 /// #[macro_use] extern crate proxmox_backup;
-/// # use failure::*;
+/// # use anyhow::{bail, format_err, Error};
 /// use proxmox_backup::tools::FileLogger;
 ///
 /// # std::fs::remove_file("test.log");
index a5bd0c83d6c0b9981aa5e1bb89515500a621ecbe..230199087b586930108a07c2daec641bb8c26ae9 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use serde_json::Value;
 use chrono::{Local, TimeZone};
 
index 178105a8422b2ca3cc08560203232f89d5c14b7f..0f7e35ed8f39aa061775f9621972b717b30694ed 100644 (file)
@@ -4,7 +4,7 @@ use std::borrow::{Borrow, BorrowMut};
 use std::ops::{Deref, DerefMut};
 use std::os::unix::io::{AsRawFd, RawFd};
 
-use failure::*;
+use anyhow::{format_err, Error};
 use nix::dir;
 use nix::dir::Dir;
 use regex::Regex;
@@ -73,7 +73,7 @@ impl ReadDirEntry {
 }
 
 // Since Tied<T, U> implements Deref to U, a Tied<Dir, Iterator> already implements Iterator.
-// This is simply a wrapper with a shorter type name mapping nix::Error to failure::Error.
+// This is simply a wrapper with a shorter type name mapping nix::Error to anyhow::Error.
 /// Wrapper over a pair of `nix::dir::Dir` and `nix::dir::Iter`, returned by `read_subdir()`.
 pub struct ReadDir {
     iter: Tied<Dir, dyn Iterator<Item = nix::Result<dir::Entry>> + Send>,
index 1a73a59a9a1c6f52729a81b771e4b2fe8ab4766f..502f08f11597e9c7aecceb3d40cb91cbbfdfd212 100644 (file)
@@ -14,7 +14,7 @@ pub trait Cacher<K, V> {
     /// Whenever a cache miss occurs, the fetch method provides a corresponding value.
     /// If no value can be obtained for the given key, None is returned, the cache is
     /// not updated in that case.
-    fn fetch(&mut self, key: K) -> Result<Option<V>, failure::Error>;
+    fn fetch(&mut self, key: K) -> Result<Option<V>, anyhow::Error>;
 }
 
 /// Node of the doubly linked list storing key and value
@@ -46,11 +46,11 @@ impl<K, V> CacheNode<K, V> {
 /// # Examples:
 /// ```
 /// # use self::proxmox_backup::tools::lru_cache::{Cacher, LruCache};
-/// # fn main() -> Result<(), failure::Error> {
+/// # fn main() -> Result<(), anyhow::Error> {
 /// struct LruCacher {};
 ///
 /// impl Cacher<u64, u64> for LruCacher {
-///     fn fetch(&mut self, key: u64) -> Result<Option<u64>, failure::Error> {
+///     fn fetch(&mut self, key: u64) -> Result<Option<u64>, anyhow::Error> {
 ///         Ok(Some(key))
 ///     }
 /// }
@@ -189,7 +189,7 @@ impl<K: std::cmp::Eq + std::hash::Hash + Copy, V> LruCache<K, V> {
     /// value.
     /// If fetch returns a value, it is inserted as the most recently used entry
     /// in the cache.
-    pub fn access<'a>(&'a mut self, key: K, cacher: &mut dyn Cacher<K, V>) -> Result<Option<&'a mut V>, failure::Error> {
+    pub fn access<'a>(&'a mut self, key: K, cacher: &mut dyn Cacher<K, V>) -> Result<Option<&'a mut V>, anyhow::Error> {
         match self.map.entry(key) {
             Entry::Occupied(mut o) => {
                 // Cache hit, birng node to front of list
index f0ccc76d0f71b39df4659e425d7fc86241c06e25..7a73cebe474d479a969f8d47b8989d783556d964 100644 (file)
@@ -7,7 +7,7 @@
 //! the timestamp for the oldest open lock with
 //! `oldest_shared_lock()`.
 
-use failure::*;
+use anyhow::{bail, Error};
 
 use std::sync::{Arc, Mutex};
 use std::os::unix::io::AsRawFd;
index 8208b72b0496ba6b250bb9bf743959f19f0ee13e..d2f6444ebce59f5d0a0c41d55efa3bfaf3a1d5b7 100644 (file)
@@ -1,7 +1,7 @@
 use std::io::Write;
 use std::sync::mpsc::SyncSender;
 
-use failure::*;
+use anyhow::{Error};
 
 /// Wrapper around SyncSender, which implements Write
 ///
index 8a8ac356253e9d36c9ec4d8c05926aebf7de21f4..b36584962c70f606a772d0cf6dda24f5e03ffdf2 100644 (file)
@@ -1,6 +1,6 @@
 //! Generate and verify Authentification tickets
 
-use failure::*;
+use anyhow::{bail, Error};
 use base64;
 
 use openssl::pkey::{PKey, Public, Private};
index 267a0badf9aae4db90cc9128d1a9a1ad3cae0b45..cb87e2b09d443a1fef9318a6d4ba07e0b99b0463 100644 (file)
@@ -61,7 +61,7 @@ impl<T> Stream for StdChannelStream<T> {
 mod test {
     use std::io;
 
-    use failure::Error;
+    use anyhow::Error;
     use futures::stream::TryStreamExt;
 
     #[test]
index 5ae123949648eeb05435c224e16e25effbca7f4c..e2828ab90e791a38833463a18b806052a33ed73b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 use std::sync::Arc;
 use std::io::Cursor;
 use std::io::{Read, Write, Seek, SeekFrom };
index ed3e67029e99a5a51cb3152a97022c10cd6d32a8..c3fe402761a0def0e264b07b9c636c3319b7ce70 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 
 use std::process::Command;
 use proxmox_backup::pxar::*;
index 33e624045e878ff6543f9e1ec6c4b4b55bdc24bc..a0123ac625354ae4d33b909a5b1d8879596ca6b7 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{Error};
 use std::path::PathBuf;
 
 use proxmox_backup::backup::*;
index 607cd1f294ad2c08abd53dc5cc122f83490b3b11..d919f1547dd0a342c33297463ad6fa5ad10f3ac0 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, format_err, Error};
 
 use proxmox_backup::api2;
 use proxmox::api::*;
index 6ebb402e08c51b45f75d5ea58cba8b9f7febcdb0..519333b10490be6afde9e7a6becf2b20633a26d1 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 
 #[macro_use]
 extern crate proxmox_backup;