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
prev 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