all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>, Stefan Sterz <s.sterz@proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup v1 1/2] fix #4001: datastore/catalog: add number of files to directory entry
Date: Thu, 12 May 2022 17:27:20 +0200	[thread overview]
Message-ID: <59dbe363-e716-d241-1270-c7ecca384514@proxmox.com> (raw)
In-Reply-To: <20220505135252.466838-5-s.sterz@proxmox.com>

Am 5/5/22 um 15:52 schrieb Stefan Sterz:
> when listing the content of a catalog, add the number of files
> contained in the directory as its size. also removes redundant code,
> the size of a file is already set when creating the archive entry.
> 

did you mean to write "the mtime of a file ..." as, we obviously need to
set the size differently to get the number of children, but you dropped
setting the mtime, which is OK as ArchiveEntry::new does that already,
or did I overlooked something?

> Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
> ---
> this requires patch two from the widget toolkit part of this patch to
> be applied already. otherwise the formatting and sorting of the folder
> "size" will be wrong.

ok so no hard depends.

> 
>  pbs-datastore/src/catalog.rs | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/pbs-datastore/src/catalog.rs b/pbs-datastore/src/catalog.rs
> index c07b71a6..6cb8aeb4 100644
> --- a/pbs-datastore/src/catalog.rs
> +++ b/pbs-datastore/src/catalog.rs
> @@ -706,10 +706,11 @@ impl<R: Read + Seek> CatalogReader<R> {
>              components.push(b'/');
>              components.extend(&direntry.name);
>              let mut entry = ArchiveEntry::new(&components, Some(&direntry.attr));
> -            if let DirEntryAttribute::File { size, mtime } = direntry.attr {
> -                entry.size = size.into();
> -                entry.mtime = mtime.into();
> +
> +            if let DirEntryAttribute::Directory { start: _ } = direntry.attr {
> +                entry.size = Some(u64::try_from(self.read_dir(&direntry)?.len())?);
>              }
> +
>              res.push(entry);
>          }
>  
> @@ -911,7 +912,8 @@ pub struct ArchiveEntry {
>      pub entry_type: String,
>      /// Is this entry a leaf node, or does it have children (i.e. a directory)?
>      pub leaf: bool,
> -    /// The file size, if entry_type is 'f' (file)
> +    /// The file size, if entry_type is 'f' (file) or the amount of files in a
> +    /// directory if entry_type is 'd' (directory)
>      #[serde(skip_serializing_if = "Option::is_none")]
>      pub size: Option<u64>,
>      /// The file "last modified" time stamp, if entry_type is 'f' (file)





  reply	other threads:[~2022-05-12 15:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-05 13:52 [pbs-devel] [PATCH proxmox-backup v1] fixes #4001: file explorer/download UX improvements Stefan Sterz
2022-05-05 13:52 ` [pbs-devel] [PATCH widget-toolkit v1 1/3] fix #4001: FileBrowser: add menu to button and selected entry label Stefan Sterz
2022-05-05 13:52 ` [pbs-devel] [PATCH widget-toolkit v1 2/3] fix #4001: FileBrowser: show number of items in a directory as size Stefan Sterz
2022-05-05 13:52 ` [pbs-devel] [PATCH widget-toolkit v1 3/3] fix #4001: FileBrowser: add a configurable prefix to downloaded files Stefan Sterz
2022-05-05 13:52 ` [pbs-devel] [PATCH proxmox-backup v1 1/2] fix #4001: datastore/catalog: add number of files to directory entry Stefan Sterz
2022-05-12 15:27   ` Thomas Lamprecht [this message]
2022-05-13  7:18     ` Stefan Sterz
2022-05-05 13:52 ` [pbs-devel] [PATCH proxmox-backup v1 2/2] fix #4001: ui: add prefix to files downloaded through the pxar browser Stefan Sterz
2022-05-16 13:31 ` [pbs-devel] applied-series: [PATCH proxmox-backup v1] fixes #4001: file explorer/download UX improvements Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59dbe363-e716-d241-1270-c7ecca384514@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    --cc=s.sterz@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal