public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Christian Ebner <c.ebner@proxmox.com>, pbs-devel@lists.proxmox.com
Subject: [pbs-devel] applied-series: [PATCH v5 proxmox-backup 0/5] introduce dedcated archive name api type
Date: Fri, 22 Nov 2024 13:49:01 +0100	[thread overview]
Message-ID: <173227974191.2118190.13647075496700342338@yuna.proxmox.com> (raw)
In-Reply-To: <20241122103011.165010-1-c.ebner@proxmox.com>

with two follow-up patches squashed in (acked by Chris), in order to keep the
"constant" names for manifest, log, catalog and key via LazyLock, and a third
patch extending the tests slightly added.

Quoting Christian Ebner (2024-11-22 11:30:06)
> There is currently no dedicated api type for the archive names, given
> as input parameters to several api methods.
> 
> This patches introduce a dedicated type for archive names, in order
> to collect the code for checks and eventual mappings into one
> location and reduce possible unintentional misuse by passing
> incorrect argument values to the functions and methods consuming
> the archive names.
> 
> Further, drop all archive name constants in favor of helper methods on
> the api type to generate `BackupArchiveName` instances for them. This
> allows for direct comparison with other `BackupArchiveName` instances.
> 
> As a positive side effect, the mapping now allows also for the server
> archive type extensions to be optionally passed as input to several
> commands, e.g.
> ```
> proxmox-backup-client restore <snapshot> <name>.pxar.didx <target>
> ```
> is now valid, being equal to
> ```
> proxmox-backup-client restore <snapshot> <name.pxar <target>
> ```
> 
> Changes since version 4:
> - Rebased onto current master
> - Extended to newly introduced sync jobs in push direction
> 
> Changes since version 3:
> - Removed catchall fallback to blob type, reworked type parsing logic
> - Removed archive name constants in favor of helper methods to generate
>   archive names for them
> - Extended tests
> 
> Changes since version 2:
> - Rebased onto current master
> - Amended commit messages
> 
> Changes since version 1 (thanks @Gabriel):
> - Rebased onto current master
> - Added unit tests for archive name parsing
> - Added missing check for invalid archive names ending with '/'
> - Inlined variable names for format strings
> - Import implemented traits at top
> 
> Christian Ebner (5):
>   datastore: move `ArchiveType` to api types
>   api types: introduce `BackupArchiveName` type
>   client/server: use dedicated api type for all archive names
>   client: drop unused parse_archive_type helper
>   api types: add unit tests for backup archive name parsing
> 
>  pbs-api-types/src/datastore.rs       | 238 ++++++++++++++++++++++++++-
>  pbs-client/src/backup_reader.rs      |  18 +-
>  pbs-client/src/backup_writer.rs      |  43 +++--
>  pbs-client/src/pxar/tools.rs         |   3 +-
>  pbs-client/src/tools/mod.rs          |  28 ++--
>  pbs-datastore/src/backup_info.rs     |  22 +--
>  pbs-datastore/src/datastore.rs       |   7 +-
>  pbs-datastore/src/lib.rs             |   3 -
>  pbs-datastore/src/manifest.rs        |  55 +++----
>  pbs-datastore/src/snapshot_reader.rs |  11 +-
>  proxmox-backup-client/src/catalog.rs |  35 ++--
>  proxmox-backup-client/src/helper.rs  |   7 +-
>  proxmox-backup-client/src/main.rs    | 138 +++++++++-------
>  proxmox-backup-client/src/mount.rs   |  33 ++--
>  proxmox-file-restore/src/main.rs     |  13 +-
>  src/api2/admin/datastore.rs          |  70 ++++----
>  src/api2/backup/mod.rs               |   3 +-
>  src/api2/reader/mod.rs               |   7 +-
>  src/api2/tape/restore.rs             |  17 +-
>  src/backup/mod.rs                    |   3 -
>  src/backup/verify.rs                 |   7 +-
>  src/bin/proxmox_backup_debug/diff.rs |  16 +-
>  src/server/pull.rs                   |  24 +--
>  src/server/push.rs                   |  31 ++--
>  src/server/sync.rs                   |  11 +-
>  tests/prune.rs                       |   5 +-
>  26 files changed, 539 insertions(+), 309 deletions(-)
> 
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
>


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


      parent reply	other threads:[~2024-11-22 12:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-22 10:30 [pbs-devel] " Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 1/5] datastore: move `ArchiveType` to api types Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 2/5] api types: introduce `BackupArchiveName` type Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 3/5] client/server: use dedicated api type for all archive names Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 4/5] client: drop unused parse_archive_type helper Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 5/5] api types: add unit tests for backup archive name parsing Christian Ebner
2024-11-22 12:49 ` Fabian Grünbichler [this message]

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=173227974191.2118190.13647075496700342338@yuna.proxmox.com \
    --to=f.gruenbichler@proxmox.com \
    --cc=c.ebner@proxmox.com \
    --cc=pbs-devel@lists.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