]> git.proxmox.com Git - pve-storage.git/blobdiff - PVE/Storage/PBSPlugin.pm
pbs add/update: save fingerprint in storage config
[pve-storage.git] / PVE / Storage / PBSPlugin.pm
index 3e66bfcde9c441fc751c09fcbec465bf913eedb4..1f576d322fed56e8b6dd4d43c626ab824f00a4f4 100644 (file)
@@ -394,6 +394,7 @@ sub on_add_hook {
        my $decoded_key;
        if ($encryption_key eq 'autogen') {
            $res->{'encryption-key'} = $autogen_encryption_key->($scfg, $storeid);
+           $decoded_key = decode_json($res->{'encryption-key'});
        } else {
            $decoded_key = eval { decode_json($encryption_key) };
            if ($@ || !exists($decoded_key->{data})) {
@@ -402,7 +403,7 @@ sub on_add_hook {
            pbs_set_encryption_key($scfg, $storeid, $encryption_key);
            $res->{'encryption-key'} = $encryption_key;
        }
-       $scfg->{'encryption-key'} = 1;
+       $scfg->{'encryption-key'} = $decoded_key->{fingerprint} || 1;
     } else {
        pbs_delete_encryption_key($scfg, $storeid);
     }
@@ -428,6 +429,7 @@ sub on_update_hook {
            my $decoded_key;
            if ($encryption_key eq 'autogen') {
                $res->{'encryption-key'} = $autogen_encryption_key->($scfg, $storeid);
+               $decoded_key = decode_json($res->{'encryption-key'});
            } else {
                $decoded_key = eval { decode_json($encryption_key) };
                if ($@ || !exists($decoded_key->{data})) {
@@ -436,7 +438,7 @@ sub on_update_hook {
                pbs_set_encryption_key($scfg, $storeid, $encryption_key);
                $res->{'encryption-key'} = $encryption_key;
            }
-           $scfg->{'encryption-key'} = 1;
+           $scfg->{'encryption-key'} = $decoded_key->{fingerprint} || 1;
        } else {
            pbs_delete_encryption_key($scfg, $storeid);
        }