From 58c48f3ef0a190724aaea5c5a34395f59e78dc80 Mon Sep 17 00:00:00 2001 From: Fiona Ebner Date: Thu, 11 Apr 2024 11:29:31 +0200 Subject: [PATCH] vzdump: schema: make storage for fleecing semi-optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit so it doesn't need to be set when explicitly disabling fleecing. Needs a custom verifier to enforce it being set when enabled. Suggested-by: Fabian Grünbichler Signed-off-by: Fiona Ebner Signed-off-by: Thomas Lamprecht --- src/PVE/VZDump/Common.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/PVE/VZDump/Common.pm b/src/PVE/VZDump/Common.pm index e11fd15..1539444 100644 --- a/src/PVE/VZDump/Common.pm +++ b/src/PVE/VZDump/Common.pm @@ -95,8 +95,20 @@ PVE::JSONSchema::register_format('backup-fleecing', { description => "Use this storage to storage fleecing images. For efficient space usage," ." it's best to use a local storage that supports discard and either thin provisioning" ." or sparse files.", + optional => 1, }), -}); +}, \&verify_backup_fleecing); + +sub verify_backup_fleecing { + my ($param, $noerr) = @_; + + if (!$param->{storage} && $param->{enabled}) { + return if $noerr; + die "'storage' parameter is required when 'enabled' is set\n"; + } + + return $param; +} PVE::JSONSchema::register_format('backup-performance', { 'max-workers' => {