public inbox for pbs-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal