[pbs-devel] [PATCH v8 proxmox-backup 38/69] pxar: show padding in debug output on archive list
Fabian Grünbichler
f.gruenbichler at proxmox.com
Tue Jun 4 10:34:25 CEST 2024
On May 28, 2024 11:42 am, Christian Ebner wrote:
> In addition to the entries, also show the padding encountered in-between
> referenced payloads.
>
> Example invocation: `PXAR_LOG=debug pxar list archive.mpxar`
>
> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> ---
> changes since version 7:
> - include missing `last` variable declaration
>
> changes since version 6:
> - no changes
>
> pxar-bin/src/main.rs | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/pxar-bin/src/main.rs b/pxar-bin/src/main.rs
> index 17e468062..b5a5bbe9f 100644
> --- a/pxar-bin/src/main.rs
> +++ b/pxar-bin/src/main.rs
> @@ -9,6 +9,7 @@ use std::sync::Arc;
> use anyhow::{bail, format_err, Error};
> use futures::future::FutureExt;
> use futures::select;
> +use pxar::EntryKind;
nit: this is one of our crates, so should go below next to pathpatterns
> use tokio::signal::unix::{signal, SignalKind};
>
> use pathpatterns::{MatchEntry, MatchType, PatternFlag};
> @@ -475,10 +476,28 @@ fn dump_archive(archive: String, payload_input: Option<String>) -> Result<(), Er
> pxar::PxarVariant::Unified(archive)
> };
>
> + let mut last = None;
> for entry in pxar::decoder::Decoder::open(input)? {
> let entry = entry?;
>
> if log::log_enabled!(log::Level::Debug) {
> + match entry.kind() {
> + EntryKind::File {
> + payload_offset: Some(offset),
> + size,
> + ..
> + } => {
> + if let Some(last) = last {
> + let skipped = offset - last;
> + if skipped > 0 {
> + log::debug!("Encountered padding of {skipped} bytes");
> + }
> + }
> + last = Some(offset + size + std::mem::size_of::<pxar::format::Header>() as u64);
> + }
> + _ => (),
> + }
> +
> log::debug!("{}", format_single_line_entry(&entry));
> } else {
> log::info!("{:?}", entry.path());
> --
> 2.39.2
>
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
>
>
>
More information about the pbs-devel
mailing list