[pbs-devel] [PATCH proxmox-backup v2 05/14] tape/pool_writer: clippy fixes
Wolfgang Bumiller
w.bumiller at proxmox.com
Mon Apr 19 10:48:59 CEST 2021
> On 04/16/2021 12:29 PM Dominik Csapak <d.csapak at proxmox.com> wrote:
>
>
> fixes:
> * impl (or derive) Default for structs with `new()`
> * put complex type in type definition
>
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
> src/tape/pool_writer/catalog_set.rs | 1 +
> src/tape/pool_writer/mod.rs | 4 +++-
> src/tape/pool_writer/new_chunks_iterator.rs | 4 +++-
> 3 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/src/tape/pool_writer/catalog_set.rs b/src/tape/pool_writer/catalog_set.rs
> index fbca3e97..b3630915 100644
> --- a/src/tape/pool_writer/catalog_set.rs
> +++ b/src/tape/pool_writer/catalog_set.rs
> @@ -12,6 +12,7 @@ use crate::{
> /// Helper to build and query sets of catalogs
> ///
> /// Similar to MediaSetCatalog, but allows to modify the last catalog.
> +#[derive(Default)]
> pub struct CatalogSet {
> // read only part
> pub media_set_catalog: MediaSetCatalog,
> diff --git a/src/tape/pool_writer/mod.rs b/src/tape/pool_writer/mod.rs
> index 99fdb48c..36c4dea0 100644
> --- a/src/tape/pool_writer/mod.rs
> +++ b/src/tape/pool_writer/mod.rs
> @@ -531,6 +531,8 @@ impl PoolWriter {
> }
> }
>
> +type WriteChunkArchiveResult = (Vec<[u8;32]>, Uuid, bool, usize);
Urgh. Struct please....
Or, it's used exactly once, so maybe just #[clippy] this away and document on the function.
But erm, structs don't hurt.
(They really don't)
> +
> /// write up to <max_size> of chunks
> fn write_chunk_archive<'a>(
> _worker: &WorkerTask,
> @@ -538,7 +540,7 @@ fn write_chunk_archive<'a>(
> chunk_iter: &mut std::iter::Peekable<NewChunksIterator>,
> store: &str,
> max_size: usize,
> -) -> Result<(Vec<[u8;32]>, Uuid, bool, usize), Error> {
> +) -> Result<WriteChunkArchiveResult, Error> {
>
> let (mut writer, content_uuid) = ChunkArchiveWriter::new(writer, store, true)?;
>
> diff --git a/src/tape/pool_writer/new_chunks_iterator.rs b/src/tape/pool_writer/new_chunks_iterator.rs
> index 56491356..55ea407d 100644
> --- a/src/tape/pool_writer/new_chunks_iterator.rs
> +++ b/src/tape/pool_writer/new_chunks_iterator.rs
> @@ -15,12 +15,14 @@ use crate::{
> },
> };
>
> +type ChunkReceiver = std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>;
One of these days I'll have change all those million `[u8; 32]` to a `Digest`.
And make all the digest "methods" we now have free-standing in multiple crates real *methods*.
> +
> /// Chunk iterator which use a separate thread to read chunks
> ///
> /// The iterator skips duplicate chunks and chunks already in the
> /// catalog.
> pub struct NewChunksIterator {
> - rx: std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>,
> + rx: ChunkReceiver,
> }
>
> impl NewChunksIterator {
> --
> 2.20.1
More information about the pbs-devel
mailing list