* [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output @ 2020-11-24 15:41 Stefan Reiter 2020-11-24 15:41 ` [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' Stefan Reiter ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: Stefan Reiter @ 2020-11-24 15:41 UTC (permalink / raw) To: pve-devel v3: * use function, as header macro was compiled into QEMU, not the library pve-qemu: Stefan Reiter (1): update patches with squashed in 'include library version' ...dd-query_proxmox_support-QMP-command.patch | 22 ++++++++++------ ...issing-crypt-and-compress-parameters.patch | 2 +- ...rite-callback-with-big-blocks-correc.patch | 2 +- ...-block-handling-to-PBS-dump-callback.patch | 2 +- ...E-add-query-pbs-bitmap-info-QMP-call.patch | 23 +++++++++-------- ...-transaction-to-synchronize-job-stat.patch | 2 +- ...ore-coroutines-and-don-t-block-on-fi.patch | 4 +-- ...n-up-error-handling-for-create_backu.patch | 2 +- ...igrate-dirty-bitmap-state-via-savevm.patch | 25 ++++++++++--------- 9 files changed, 47 insertions(+), 37 deletions(-) proxmox-backup-qemu: Stefan Reiter (1): return version via rust fn instead of header define Makefile | 2 +- build.rs | 6 +++--- current-api.h | 7 +++++-- src/lib.rs | 13 +++++++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) qemu-server: Stefan Reiter (1): print query-proxmox-support result in 'full' status PVE/CLI/qm.pm | 2 +- PVE/QemuServer.pm | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' 2020-11-24 15:41 [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Stefan Reiter @ 2020-11-24 15:41 ` Stefan Reiter 2020-11-25 10:59 ` [pve-devel] applied: " Fabian Grünbichler 2020-11-24 15:41 ` [pve-devel] [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define Stefan Reiter ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Stefan Reiter @ 2020-11-24 15:41 UTC (permalink / raw) To: pve-devel Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- v3: use function instead of macro from lib Requires a depends on bumped library to find function. ...dd-query_proxmox_support-QMP-command.patch | 22 ++++++++++------ ...issing-crypt-and-compress-parameters.patch | 2 +- ...rite-callback-with-big-blocks-correc.patch | 2 +- ...-block-handling-to-PBS-dump-callback.patch | 2 +- ...E-add-query-pbs-bitmap-info-QMP-call.patch | 23 +++++++++-------- ...-transaction-to-synchronize-job-stat.patch | 2 +- ...ore-coroutines-and-don-t-block-on-fi.patch | 4 +-- ...n-up-error-handling-for-create_backu.patch | 2 +- ...igrate-dirty-bitmap-state-via-savevm.patch | 25 ++++++++++--------- 9 files changed, 47 insertions(+), 37 deletions(-) diff --git a/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch b/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch index 1549af3..e2dc20f 100644 --- a/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch +++ b/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch @@ -8,16 +8,18 @@ backup support. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> +[PVE: query-proxmox-support: include library version] +Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- - pve-backup.c | 7 +++++++ - qapi/block-core.json | 22 ++++++++++++++++++++++ - 2 files changed, 29 insertions(+) + pve-backup.c | 8 ++++++++ + qapi/block-core.json | 25 +++++++++++++++++++++++++ + 2 files changed, 33 insertions(+) diff --git a/pve-backup.c b/pve-backup.c -index bfb648d6b5..2539ae1520 100644 +index bfb648d6b5..6bf138cfc6 100644 --- a/pve-backup.c +++ b/pve-backup.c -@@ -1051,3 +1051,10 @@ BackupStatus *qmp_query_backup(Error **errp) +@@ -1051,3 +1051,11 @@ BackupStatus *qmp_query_backup(Error **errp) return info; } @@ -25,14 +27,15 @@ index bfb648d6b5..2539ae1520 100644 +ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) +{ + ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); ++ ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); + ret->pbs_dirty_bitmap = true; + return ret; +} diff --git a/qapi/block-core.json b/qapi/block-core.json -index f782c2cf96..6dd5e35473 100644 +index f782c2cf96..1ed5987c88 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json -@@ -877,6 +877,28 @@ +@@ -877,6 +877,31 @@ ## { 'command': 'backup-cancel' } @@ -44,9 +47,12 @@ index f782c2cf96..6dd5e35473 100644 +# @pbs-dirty-bitmap: True if dirty-bitmap-incremental backups to PBS are +# supported. +# ++# @pbs-library-version: Running version of libproxmox-backup-qemu0 library. ++# +## +{ 'struct': 'ProxmoxSupportStatus', -+ 'data': { 'pbs-dirty-bitmap': 'bool' } } ++ 'data': { 'pbs-dirty-bitmap': 'bool', ++ 'pbs-library-version': 'str' } } + +## +# @query-proxmox-support: diff --git a/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch b/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch index f0ff58a..34b0f51 100644 --- a/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch +++ b/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch @@ -9,7 +9,7 @@ Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com> 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 2539ae1520..0e293a4f5e 100644 +index 6bf138cfc6..cd3a132d8b 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -958,6 +958,8 @@ UuidInfo *qmp_backup( diff --git a/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch b/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch index 5f73a01..d45a455 100644 --- a/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch +++ b/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch @@ -17,7 +17,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 0e293a4f5e..8999692418 100644 +index cd3a132d8b..f14273645a 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -67,6 +67,7 @@ opts_init(pvebackup_init); diff --git a/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch b/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch index d09b817..930ec8f 100644 --- a/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch +++ b/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch @@ -20,7 +20,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 8999692418..562fcc20f7 100644 +index f14273645a..bd802c6205 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -8,6 +8,7 @@ diff --git a/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch b/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch index c8581c8..54f1dfa 100644 --- a/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch +++ b/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch @@ -10,8 +10,8 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- monitor/hmp-cmds.c | 28 ++++++----- pve-backup.c | 117 ++++++++++++++++++++++++++++++++----------- - qapi/block-core.json | 57 ++++++++++++++++++++- - 3 files changed, 159 insertions(+), 43 deletions(-) + qapi/block-core.json | 56 +++++++++++++++++++++ + 3 files changed, 159 insertions(+), 42 deletions(-) diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index 3ff014d32a..c3227a1498 100644 @@ -68,7 +68,7 @@ index 3ff014d32a..c3227a1498 100644 info->zero_bytes, zero_per); diff --git a/pve-backup.c b/pve-backup.c -index 562fcc20f7..04c21c80aa 100644 +index bd802c6205..2db4a62580 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -46,6 +46,7 @@ static struct PVEBackupState { @@ -314,7 +314,7 @@ index 562fcc20f7..04c21c80aa 100644 err: l = di_list; -@@ -1074,9 +1100,40 @@ BackupStatus *qmp_query_backup(Error **errp) +@@ -1074,10 +1100,41 @@ BackupStatus *qmp_query_backup(Error **errp) return info; } @@ -351,28 +351,31 @@ index 562fcc20f7..04c21c80aa 100644 ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) { ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); + ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); ret->pbs_dirty_bitmap = true; + ret->query_bitmap_info = true; return ret; } diff --git a/qapi/block-core.json b/qapi/block-core.json -index 6dd5e35473..5fc42e87f3 100644 +index 1ed5987c88..03fc0af99b 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json -@@ -885,9 +885,11 @@ +@@ -885,11 +885,14 @@ # @pbs-dirty-bitmap: True if dirty-bitmap-incremental backups to PBS are # supported. # +# @query-bitmap-info: True if the 'query-pbs-bitmap-info' QMP call is supported. +# + # @pbs-library-version: Running version of libproxmox-backup-qemu0 library. + # ## { 'struct': 'ProxmoxSupportStatus', -- 'data': { 'pbs-dirty-bitmap': 'bool' } } -+ 'data': { 'pbs-dirty-bitmap': 'bool', 'query-bitmap-info': 'bool' } } + 'data': { 'pbs-dirty-bitmap': 'bool', ++ 'query-bitmap-info': 'bool', + 'pbs-library-version': 'str' } } ## - # @query-proxmox-support: -@@ -899,6 +901,59 @@ +@@ -902,6 +905,59 @@ ## { 'command': 'query-proxmox-support', 'returns': 'ProxmoxSupportStatus' } diff --git a/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch b/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch index a9489a8..daa2498 100644 --- a/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch +++ b/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch @@ -16,7 +16,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> 1 file changed, 49 insertions(+), 118 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 04c21c80aa..9562e9c98d 100644 +index 2db4a62580..b52f4a9364 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -52,6 +52,7 @@ static struct PVEBackupState { diff --git a/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch b/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch index 695c0fd..49213d9 100644 --- a/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch +++ b/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch @@ -38,7 +38,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> 2 files changed, 95 insertions(+), 58 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 9562e9c98d..0466145bec 100644 +index b52f4a9364..4402c0cb17 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -33,7 +33,9 @@ const char *PBS_BITMAP_NAME = "pbs-incremental-dirty-bitmap"; @@ -359,7 +359,7 @@ index 9562e9c98d..0466145bec 100644 qemu_mutex_unlock(&backup_state.stat.lock); diff --git a/qapi/block-core.json b/qapi/block-core.json -index 5fc42e87f3..b31ad8d989 100644 +index 03fc0af99b..29650896e2 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -784,12 +784,15 @@ diff --git a/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch b/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch index 45dabc4..873fd37 100644 --- a/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch +++ b/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch @@ -22,7 +22,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> 1 file changed, 54 insertions(+), 25 deletions(-) diff --git a/pve-backup.c b/pve-backup.c -index 0466145bec..1a2647e7a5 100644 +index 4402c0cb17..c7cde0fb0e 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -50,6 +50,7 @@ static struct PVEBackupState { diff --git a/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch b/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch index b1eca48..83e5874 100644 --- a/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch +++ b/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch @@ -17,9 +17,9 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> migration/Makefile.objs | 1 + migration/pbs-state.c | 97 ++++++++++++++++++++++++++++++++++++++++ pve-backup.c | 1 + - qapi/block-core.json | 9 +++- + qapi/block-core.json | 6 +++ softmmu/vl.c | 1 + - 6 files changed, 111 insertions(+), 1 deletion(-) + 6 files changed, 109 insertions(+) create mode 100644 migration/pbs-state.c diff --git a/include/migration/misc.h b/include/migration/misc.h @@ -150,21 +150,21 @@ index 0000000000..c711498c3e + &pbs_state); +} diff --git a/pve-backup.c b/pve-backup.c -index 1a2647e7a5..c12ff8bb61 100644 +index c7cde0fb0e..f65f1dda26 100644 --- a/pve-backup.c +++ b/pve-backup.c -@@ -1129,5 +1129,6 @@ ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) - ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); +@@ -1130,5 +1130,6 @@ ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) + ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); ret->pbs_dirty_bitmap = true; ret->query_bitmap_info = true; + ret->pbs_dirty_bitmap_migration = true; return ret; } diff --git a/qapi/block-core.json b/qapi/block-core.json -index b31ad8d989..00c9e12fcc 100644 +index 29650896e2..0da4b35028 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json -@@ -890,9 +890,16 @@ +@@ -890,12 +890,18 @@ # # @query-bitmap-info: True if the 'query-pbs-bitmap-info' QMP call is supported. # @@ -173,15 +173,16 @@ index b31ad8d989..00c9e12fcc 100644 +# migration cap if this is false/unset may lead +# to crashes on migration! +# + # @pbs-library-version: Running version of libproxmox-backup-qemu0 library. + # ## { 'struct': 'ProxmoxSupportStatus', -- 'data': { 'pbs-dirty-bitmap': 'bool', 'query-bitmap-info': 'bool' } } -+ 'data': { 'pbs-dirty-bitmap': 'bool', -+ 'query-bitmap-info': 'bool', -+ 'pbs-dirty-bitmap-migration': 'bool' } } + 'data': { 'pbs-dirty-bitmap': 'bool', + 'query-bitmap-info': 'bool', ++ 'pbs-dirty-bitmap-migration': 'bool', + 'pbs-library-version': 'str' } } ## - # @query-proxmox-support: diff --git a/softmmu/vl.c b/softmmu/vl.c index 16aa2186b0..88b13871fd 100644 --- a/softmmu/vl.c -- 2.20.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] applied: [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' 2020-11-24 15:41 ` [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' Stefan Reiter @ 2020-11-25 10:59 ` Fabian Grünbichler 0 siblings, 0 replies; 11+ messages in thread From: Fabian Grünbichler @ 2020-11-25 10:59 UTC (permalink / raw) To: Proxmox VE development discussion with fixup to bump versioned build-dep and add versioned dependency On November 24, 2020 4:41 pm, Stefan Reiter wrote: > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > > v3: use function instead of macro from lib > > Requires a depends on bumped library to find function. > > ...dd-query_proxmox_support-QMP-command.patch | 22 ++++++++++------ > ...issing-crypt-and-compress-parameters.patch | 2 +- > ...rite-callback-with-big-blocks-correc.patch | 2 +- > ...-block-handling-to-PBS-dump-callback.patch | 2 +- > ...E-add-query-pbs-bitmap-info-QMP-call.patch | 23 +++++++++-------- > ...-transaction-to-synchronize-job-stat.patch | 2 +- > ...ore-coroutines-and-don-t-block-on-fi.patch | 4 +-- > ...n-up-error-handling-for-create_backu.patch | 2 +- > ...igrate-dirty-bitmap-state-via-savevm.patch | 25 ++++++++++--------- > 9 files changed, 47 insertions(+), 37 deletions(-) > > diff --git a/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch b/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch > index 1549af3..e2dc20f 100644 > --- a/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch > +++ b/debian/patches/pve/0044-PVE-add-query_proxmox_support-QMP-command.patch > @@ -8,16 +8,18 @@ backup support. > > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> > +[PVE: query-proxmox-support: include library version] > +Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > - pve-backup.c | 7 +++++++ > - qapi/block-core.json | 22 ++++++++++++++++++++++ > - 2 files changed, 29 insertions(+) > + pve-backup.c | 8 ++++++++ > + qapi/block-core.json | 25 +++++++++++++++++++++++++ > + 2 files changed, 33 insertions(+) > > diff --git a/pve-backup.c b/pve-backup.c > -index bfb648d6b5..2539ae1520 100644 > +index bfb648d6b5..6bf138cfc6 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > -@@ -1051,3 +1051,10 @@ BackupStatus *qmp_query_backup(Error **errp) > +@@ -1051,3 +1051,11 @@ BackupStatus *qmp_query_backup(Error **errp) > > return info; > } > @@ -25,14 +27,15 @@ index bfb648d6b5..2539ae1520 100644 > +ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) > +{ > + ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); > ++ ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); > + ret->pbs_dirty_bitmap = true; > + return ret; > +} > diff --git a/qapi/block-core.json b/qapi/block-core.json > -index f782c2cf96..6dd5e35473 100644 > +index f782c2cf96..1ed5987c88 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > -@@ -877,6 +877,28 @@ > +@@ -877,6 +877,31 @@ > ## > { 'command': 'backup-cancel' } > > @@ -44,9 +47,12 @@ index f782c2cf96..6dd5e35473 100644 > +# @pbs-dirty-bitmap: True if dirty-bitmap-incremental backups to PBS are > +# supported. > +# > ++# @pbs-library-version: Running version of libproxmox-backup-qemu0 library. > ++# > +## > +{ 'struct': 'ProxmoxSupportStatus', > -+ 'data': { 'pbs-dirty-bitmap': 'bool' } } > ++ 'data': { 'pbs-dirty-bitmap': 'bool', > ++ 'pbs-library-version': 'str' } } > + > +## > +# @query-proxmox-support: > diff --git a/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch b/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch > index f0ff58a..34b0f51 100644 > --- a/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch > +++ b/debian/patches/pve/0045-pbs-fix-missing-crypt-and-compress-parameters.patch > @@ -9,7 +9,7 @@ Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com> > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 2539ae1520..0e293a4f5e 100644 > +index 6bf138cfc6..cd3a132d8b 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -958,6 +958,8 @@ UuidInfo *qmp_backup( > diff --git a/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch b/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch > index 5f73a01..d45a455 100644 > --- a/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch > +++ b/debian/patches/pve/0046-PVE-handle-PBS-write-callback-with-big-blocks-correc.patch > @@ -17,7 +17,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > 1 file changed, 22 insertions(+), 8 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 0e293a4f5e..8999692418 100644 > +index cd3a132d8b..f14273645a 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -67,6 +67,7 @@ opts_init(pvebackup_init); > diff --git a/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch b/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch > index d09b817..930ec8f 100644 > --- a/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch > +++ b/debian/patches/pve/0047-PVE-add-zero-block-handling-to-PBS-dump-callback.patch > @@ -20,7 +20,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 8999692418..562fcc20f7 100644 > +index f14273645a..bd802c6205 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -8,6 +8,7 @@ > diff --git a/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch b/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch > index c8581c8..54f1dfa 100644 > --- a/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch > +++ b/debian/patches/pve/0048-PVE-add-query-pbs-bitmap-info-QMP-call.patch > @@ -10,8 +10,8 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > monitor/hmp-cmds.c | 28 ++++++----- > pve-backup.c | 117 ++++++++++++++++++++++++++++++++----------- > - qapi/block-core.json | 57 ++++++++++++++++++++- > - 3 files changed, 159 insertions(+), 43 deletions(-) > + qapi/block-core.json | 56 +++++++++++++++++++++ > + 3 files changed, 159 insertions(+), 42 deletions(-) > > diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c > index 3ff014d32a..c3227a1498 100644 > @@ -68,7 +68,7 @@ index 3ff014d32a..c3227a1498 100644 > info->zero_bytes, zero_per); > > diff --git a/pve-backup.c b/pve-backup.c > -index 562fcc20f7..04c21c80aa 100644 > +index bd802c6205..2db4a62580 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -46,6 +46,7 @@ static struct PVEBackupState { > @@ -314,7 +314,7 @@ index 562fcc20f7..04c21c80aa 100644 > err: > > l = di_list; > -@@ -1074,9 +1100,40 @@ BackupStatus *qmp_query_backup(Error **errp) > +@@ -1074,10 +1100,41 @@ BackupStatus *qmp_query_backup(Error **errp) > return info; > } > > @@ -351,28 +351,31 @@ index 562fcc20f7..04c21c80aa 100644 > ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) > { > ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); > + ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); > ret->pbs_dirty_bitmap = true; > + ret->query_bitmap_info = true; > return ret; > } > diff --git a/qapi/block-core.json b/qapi/block-core.json > -index 6dd5e35473..5fc42e87f3 100644 > +index 1ed5987c88..03fc0af99b 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > -@@ -885,9 +885,11 @@ > +@@ -885,11 +885,14 @@ > # @pbs-dirty-bitmap: True if dirty-bitmap-incremental backups to PBS are > # supported. > # > +# @query-bitmap-info: True if the 'query-pbs-bitmap-info' QMP call is supported. > +# > + # @pbs-library-version: Running version of libproxmox-backup-qemu0 library. > + # > ## > { 'struct': 'ProxmoxSupportStatus', > -- 'data': { 'pbs-dirty-bitmap': 'bool' } } > -+ 'data': { 'pbs-dirty-bitmap': 'bool', 'query-bitmap-info': 'bool' } } > + 'data': { 'pbs-dirty-bitmap': 'bool', > ++ 'query-bitmap-info': 'bool', > + 'pbs-library-version': 'str' } } > > ## > - # @query-proxmox-support: > -@@ -899,6 +901,59 @@ > +@@ -902,6 +905,59 @@ > ## > { 'command': 'query-proxmox-support', 'returns': 'ProxmoxSupportStatus' } > > diff --git a/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch b/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch > index a9489a8..daa2498 100644 > --- a/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch > +++ b/debian/patches/pve/0051-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch > @@ -16,7 +16,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > 1 file changed, 49 insertions(+), 118 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 04c21c80aa..9562e9c98d 100644 > +index 2db4a62580..b52f4a9364 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -52,6 +52,7 @@ static struct PVEBackupState { > diff --git a/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch b/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch > index 695c0fd..49213d9 100644 > --- a/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch > +++ b/debian/patches/pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch > @@ -38,7 +38,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > 2 files changed, 95 insertions(+), 58 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 9562e9c98d..0466145bec 100644 > +index b52f4a9364..4402c0cb17 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -33,7 +33,9 @@ const char *PBS_BITMAP_NAME = "pbs-incremental-dirty-bitmap"; > @@ -359,7 +359,7 @@ index 9562e9c98d..0466145bec 100644 > qemu_mutex_unlock(&backup_state.stat.lock); > > diff --git a/qapi/block-core.json b/qapi/block-core.json > -index 5fc42e87f3..b31ad8d989 100644 > +index 03fc0af99b..29650896e2 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > @@ -784,12 +784,15 @@ > diff --git a/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch b/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch > index 45dabc4..873fd37 100644 > --- a/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch > +++ b/debian/patches/pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch > @@ -22,7 +22,7 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > 1 file changed, 54 insertions(+), 25 deletions(-) > > diff --git a/pve-backup.c b/pve-backup.c > -index 0466145bec..1a2647e7a5 100644 > +index 4402c0cb17..c7cde0fb0e 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > @@ -50,6 +50,7 @@ static struct PVEBackupState { > diff --git a/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch b/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch > index b1eca48..83e5874 100644 > --- a/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch > +++ b/debian/patches/pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch > @@ -17,9 +17,9 @@ Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > migration/Makefile.objs | 1 + > migration/pbs-state.c | 97 ++++++++++++++++++++++++++++++++++++++++ > pve-backup.c | 1 + > - qapi/block-core.json | 9 +++- > + qapi/block-core.json | 6 +++ > softmmu/vl.c | 1 + > - 6 files changed, 111 insertions(+), 1 deletion(-) > + 6 files changed, 109 insertions(+) > create mode 100644 migration/pbs-state.c > > diff --git a/include/migration/misc.h b/include/migration/misc.h > @@ -150,21 +150,21 @@ index 0000000000..c711498c3e > + &pbs_state); > +} > diff --git a/pve-backup.c b/pve-backup.c > -index 1a2647e7a5..c12ff8bb61 100644 > +index c7cde0fb0e..f65f1dda26 100644 > --- a/pve-backup.c > +++ b/pve-backup.c > -@@ -1129,5 +1129,6 @@ ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) > - ProxmoxSupportStatus *ret = g_malloc0(sizeof(*ret)); > +@@ -1130,5 +1130,6 @@ ProxmoxSupportStatus *qmp_query_proxmox_support(Error **errp) > + ret->pbs_library_version = g_strdup(proxmox_backup_qemu_version()); > ret->pbs_dirty_bitmap = true; > ret->query_bitmap_info = true; > + ret->pbs_dirty_bitmap_migration = true; > return ret; > } > diff --git a/qapi/block-core.json b/qapi/block-core.json > -index b31ad8d989..00c9e12fcc 100644 > +index 29650896e2..0da4b35028 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > -@@ -890,9 +890,16 @@ > +@@ -890,12 +890,18 @@ > # > # @query-bitmap-info: True if the 'query-pbs-bitmap-info' QMP call is supported. > # > @@ -173,15 +173,16 @@ index b31ad8d989..00c9e12fcc 100644 > +# migration cap if this is false/unset may lead > +# to crashes on migration! > +# > + # @pbs-library-version: Running version of libproxmox-backup-qemu0 library. > + # > ## > { 'struct': 'ProxmoxSupportStatus', > -- 'data': { 'pbs-dirty-bitmap': 'bool', 'query-bitmap-info': 'bool' } } > -+ 'data': { 'pbs-dirty-bitmap': 'bool', > -+ 'query-bitmap-info': 'bool', > -+ 'pbs-dirty-bitmap-migration': 'bool' } } > + 'data': { 'pbs-dirty-bitmap': 'bool', > + 'query-bitmap-info': 'bool', > ++ 'pbs-dirty-bitmap-migration': 'bool', > + 'pbs-library-version': 'str' } } > > ## > - # @query-proxmox-support: > diff --git a/softmmu/vl.c b/softmmu/vl.c > index 16aa2186b0..88b13871fd 100644 > --- a/softmmu/vl.c > -- > 2.20.1 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define 2020-11-24 15:41 [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Stefan Reiter 2020-11-24 15:41 ` [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' Stefan Reiter @ 2020-11-24 15:41 ` Stefan Reiter 2020-11-25 7:36 ` [pve-devel] applied: " Dietmar Maurer 2020-11-24 15:41 ` [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status Stefan Reiter 2020-11-24 16:29 ` [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Fabian Grünbichler 3 siblings, 1 reply; 11+ messages in thread From: Stefan Reiter @ 2020-11-24 15:41 UTC (permalink / raw) To: pve-devel Otherwise the string gets included in the QEMU binary, not the library. Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- v3: added, applies as followup on top of already applied one Makefile | 2 +- build.rs | 6 +++--- current-api.h | 7 +++++-- src/lib.rs | 13 +++++++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index f799124..e3a3420 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ endif all: ifneq ($(BUILD_MODE), skip) cargo build $(CARGO_BUILD_ARGS) - diff -I 'PROXMOX_BACKUP_QEMU_VERSION' -up current-api.h proxmox-backup-qemu.h + diff -up current-api.h proxmox-backup-qemu.h endif # always re-create this dir diff --git a/build.rs b/build.rs index 274e935..6940d3f 100644 --- a/build.rs +++ b/build.rs @@ -12,8 +12,8 @@ fn main() { Some(ver) if !ver.is_empty() => ver, _ => "UNKNOWN", }; - let version_define = format!( - "\n#define PROXMOX_BACKUP_QEMU_VERSION \"{} ({})\"", + let version_string = format!( + "{} ({})", crate_ver, git_ver, ); @@ -23,10 +23,10 @@ fn main() { .with_crate(&crate_dir) .with_header(header) .with_include_guard("PROXMOX_BACKUP_QEMU_H") - .with_after_include(version_define) .generate() .unwrap() .write_to_file("proxmox-backup-qemu.h"); println!("cargo:rustc-cdylib-link-arg=-Wl,-soname,libproxmox_backup_qemu.so.0"); + println!("cargo:rustc-env=PBS_LIB_VERSION={}", version_string); } diff --git a/current-api.h b/current-api.h index cc4d0c1..abe7e89 100644 --- a/current-api.h +++ b/current-api.h @@ -32,8 +32,6 @@ #include <stdint.h> #include <stdlib.h> -#define PROXMOX_BACKUP_QEMU_VERSION "0.7.1 (dbb900ce4f524af2b59c59727203633588f32804)" - #define PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE ((1024 * 1024) * 4) /** @@ -183,6 +181,11 @@ ProxmoxBackupHandle *proxmox_backup_new(const char *repo, const char *fingerprint, char **error); +/** + * Return a read-only pointer to a string containing the version of the library. + */ +const char *proxmox_backup_qemu_version(void); + /** * Register a backup image (sync) */ diff --git a/src/lib.rs b/src/lib.rs index 67c18fc..b755014 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,6 +28,19 @@ mod tools; pub const PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE: u64 = 1024*1024*4; +use lazy_static::lazy_static; +lazy_static!{ + static ref VERSION_CSTR: CString = { + CString::new(env!("PBS_LIB_VERSION")).unwrap() + }; +} + +/// Return a read-only pointer to a string containing the version of the library. +#[no_mangle] +pub extern "C" fn proxmox_backup_qemu_version() -> *const c_char { + VERSION_CSTR.as_ptr() +} + /// Free returned error messages /// /// All calls can return error messages, but they are allocated using -- 2.20.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] applied: [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define 2020-11-24 15:41 ` [pve-devel] [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define Stefan Reiter @ 2020-11-25 7:36 ` Dietmar Maurer 0 siblings, 0 replies; 11+ messages in thread From: Dietmar Maurer @ 2020-11-25 7:36 UTC (permalink / raw) To: Proxmox VE development discussion, Stefan Reiter applied (and built a new proxmox-backup-qemu package) ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status 2020-11-24 15:41 [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Stefan Reiter 2020-11-24 15:41 ` [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' Stefan Reiter 2020-11-24 15:41 ` [pve-devel] [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define Stefan Reiter @ 2020-11-24 15:41 ` Stefan Reiter 2020-11-25 9:09 ` Fabian Grünbichler 2020-11-25 11:03 ` [pve-devel] applied: " Fabian Grünbichler 2020-11-24 16:29 ` [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Fabian Grünbichler 3 siblings, 2 replies; 11+ messages in thread From: Stefan Reiter @ 2020-11-24 15:41 UTC (permalink / raw) To: pve-devel Extends print_recursive_hash for the CLI to handle JSON booleans so the result will actually show up in 'qm status --verbose'. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- v3: unchanged PVE/CLI/qm.pm | 2 +- PVE/QemuServer.pm | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm index b3b9251..b9b6051 100755 --- a/PVE/CLI/qm.pm +++ b/PVE/CLI/qm.pm @@ -110,7 +110,7 @@ sub print_recursive_hash { foreach my $item (@$hash) { print_recursive_hash("\t$prefix", $item); } - } elsif (!ref($hash) && defined($hash)) { + } elsif ((!ref($hash) && defined($hash)) || ref($hash) eq 'JSON::PP::Boolean') { if (defined($key)) { print "$prefix$key: $hash\n"; } else { diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 9704042..6966717 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2748,6 +2748,14 @@ sub vmstatus { $qmpclient->queue_execute(undef, 2); + foreach my $vmid (keys %$list) { + next if $opt_vmid && ($vmid ne $opt_vmid); + # we can't use the $qmpclient since it might have already aborted on + # 'query-balloon', but this might also fail for older versions... + my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") }; + $res->{$vmid}->{'proxmox-support'} = $qemu_support // {}; + } + foreach my $vmid (keys %$list) { next if $opt_vmid && ($vmid ne $opt_vmid); $res->{$vmid}->{qmpstatus} = $res->{$vmid}->{status} if !$res->{$vmid}->{qmpstatus}; -- 2.20.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status 2020-11-24 15:41 ` [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status Stefan Reiter @ 2020-11-25 9:09 ` Fabian Grünbichler 2020-11-25 9:36 ` Stefan Reiter 2020-11-25 11:03 ` [pve-devel] applied: " Fabian Grünbichler 1 sibling, 1 reply; 11+ messages in thread From: Fabian Grünbichler @ 2020-11-25 9:09 UTC (permalink / raw) To: Proxmox VE development discussion this needs the following fix-up, else pvestatd spams the log for all not runnning VMs: diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 6966717..0103386 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2750,6 +2750,8 @@ sub vmstatus { foreach my $vmid (keys %$list) { next if $opt_vmid && ($vmid ne $opt_vmid); + next if !$res->{$vmid}->{pid}; #not running + # we can't use the $qmpclient since it might have already aborted on # 'query-balloon', but this might also fail for older versions... my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") }; On November 24, 2020 4:41 pm, Stefan Reiter wrote: > Extends print_recursive_hash for the CLI to handle JSON booleans so the > result will actually show up in 'qm status --verbose'. > > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > > v3: unchanged > > PVE/CLI/qm.pm | 2 +- > PVE/QemuServer.pm | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm > index b3b9251..b9b6051 100755 > --- a/PVE/CLI/qm.pm > +++ b/PVE/CLI/qm.pm > @@ -110,7 +110,7 @@ sub print_recursive_hash { > foreach my $item (@$hash) { > print_recursive_hash("\t$prefix", $item); > } > - } elsif (!ref($hash) && defined($hash)) { > + } elsif ((!ref($hash) && defined($hash)) || ref($hash) eq 'JSON::PP::Boolean') { > if (defined($key)) { > print "$prefix$key: $hash\n"; > } else { > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm > index 9704042..6966717 100644 > --- a/PVE/QemuServer.pm > +++ b/PVE/QemuServer.pm > @@ -2748,6 +2748,14 @@ sub vmstatus { > > $qmpclient->queue_execute(undef, 2); > > + foreach my $vmid (keys %$list) { > + next if $opt_vmid && ($vmid ne $opt_vmid); > + # we can't use the $qmpclient since it might have already aborted on > + # 'query-balloon', but this might also fail for older versions... > + my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") }; > + $res->{$vmid}->{'proxmox-support'} = $qemu_support // {}; > + } > + > foreach my $vmid (keys %$list) { > next if $opt_vmid && ($vmid ne $opt_vmid); > $res->{$vmid}->{qmpstatus} = $res->{$vmid}->{status} if !$res->{$vmid}->{qmpstatus}; > -- > 2.20.1 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status 2020-11-25 9:09 ` Fabian Grünbichler @ 2020-11-25 9:36 ` Stefan Reiter 0 siblings, 0 replies; 11+ messages in thread From: Stefan Reiter @ 2020-11-25 9:36 UTC (permalink / raw) To: pve-devel On 25/11/2020 10:09, Fabian Grünbichler wrote: > this needs the following fix-up, else pvestatd spams the log for all not > runnning VMs: > > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm > index 6966717..0103386 100644 > --- a/PVE/QemuServer.pm > +++ b/PVE/QemuServer.pm > @@ -2750,6 +2750,8 @@ sub vmstatus { > > foreach my $vmid (keys %$list) { > next if $opt_vmid && ($vmid ne $opt_vmid); > + next if !$res->{$vmid}->{pid}; #not running > + > # we can't use the $qmpclient since it might have already aborted on > # 'query-balloon', but this might also fail for older versions... > my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") }; > Ack, that makes sense. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [pve-devel] applied: [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status 2020-11-24 15:41 ` [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status Stefan Reiter 2020-11-25 9:09 ` Fabian Grünbichler @ 2020-11-25 11:03 ` Fabian Grünbichler 1 sibling, 0 replies; 11+ messages in thread From: Fabian Grünbichler @ 2020-11-25 11:03 UTC (permalink / raw) To: Proxmox VE development discussion with mentioned followup On November 24, 2020 4:41 pm, Stefan Reiter wrote: > Extends print_recursive_hash for the CLI to handle JSON booleans so the > result will actually show up in 'qm status --verbose'. > > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > > v3: unchanged > > PVE/CLI/qm.pm | 2 +- > PVE/QemuServer.pm | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm > index b3b9251..b9b6051 100755 > --- a/PVE/CLI/qm.pm > +++ b/PVE/CLI/qm.pm > @@ -110,7 +110,7 @@ sub print_recursive_hash { > foreach my $item (@$hash) { > print_recursive_hash("\t$prefix", $item); > } > - } elsif (!ref($hash) && defined($hash)) { > + } elsif ((!ref($hash) && defined($hash)) || ref($hash) eq 'JSON::PP::Boolean') { > if (defined($key)) { > print "$prefix$key: $hash\n"; > } else { > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm > index 9704042..6966717 100644 > --- a/PVE/QemuServer.pm > +++ b/PVE/QemuServer.pm > @@ -2748,6 +2748,14 @@ sub vmstatus { > > $qmpclient->queue_execute(undef, 2); > > + foreach my $vmid (keys %$list) { > + next if $opt_vmid && ($vmid ne $opt_vmid); > + # we can't use the $qmpclient since it might have already aborted on > + # 'query-balloon', but this might also fail for older versions... > + my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") }; > + $res->{$vmid}->{'proxmox-support'} = $qemu_support // {}; > + } > + > foreach my $vmid (keys %$list) { > next if $opt_vmid && ($vmid ne $opt_vmid); > $res->{$vmid}->{qmpstatus} = $res->{$vmid}->{status} if !$res->{$vmid}->{qmpstatus}; > -- > 2.20.1 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output 2020-11-24 15:41 [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Stefan Reiter ` (2 preceding siblings ...) 2020-11-24 15:41 ` [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status Stefan Reiter @ 2020-11-24 16:29 ` Fabian Grünbichler 2020-11-24 18:27 ` Dietmar Maurer 3 siblings, 1 reply; 11+ messages in thread From: Fabian Grünbichler @ 2020-11-24 16:29 UTC (permalink / raw) To: Proxmox VE development discussion Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> proxmox-backup-qemu is missing a not-pushed version bump commit, otherwise I'd have applied this. On November 24, 2020 4:41 pm, Stefan Reiter wrote: > v3: > * use function, as header macro was compiled into QEMU, not the library > > > pve-qemu: Stefan Reiter (1): > update patches with squashed in 'include library version' > > ...dd-query_proxmox_support-QMP-command.patch | 22 ++++++++++------ > ...issing-crypt-and-compress-parameters.patch | 2 +- > ...rite-callback-with-big-blocks-correc.patch | 2 +- > ...-block-handling-to-PBS-dump-callback.patch | 2 +- > ...E-add-query-pbs-bitmap-info-QMP-call.patch | 23 +++++++++-------- > ...-transaction-to-synchronize-job-stat.patch | 2 +- > ...ore-coroutines-and-don-t-block-on-fi.patch | 4 +-- > ...n-up-error-handling-for-create_backu.patch | 2 +- > ...igrate-dirty-bitmap-state-via-savevm.patch | 25 ++++++++++--------- > 9 files changed, 47 insertions(+), 37 deletions(-) > > proxmox-backup-qemu: Stefan Reiter (1): > return version via rust fn instead of header define > > Makefile | 2 +- > build.rs | 6 +++--- > current-api.h | 7 +++++-- > src/lib.rs | 13 +++++++++++++ > 4 files changed, 22 insertions(+), 6 deletions(-) > > qemu-server: Stefan Reiter (1): > print query-proxmox-support result in 'full' status > > PVE/CLI/qm.pm | 2 +- > PVE/QemuServer.pm | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > -- > 2.20.1 > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output 2020-11-24 16:29 ` [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Fabian Grünbichler @ 2020-11-24 18:27 ` Dietmar Maurer 0 siblings, 0 replies; 11+ messages in thread From: Dietmar Maurer @ 2020-11-24 18:27 UTC (permalink / raw) To: Proxmox VE development discussion, Fabian Grünbichler > proxmox-backup-qemu is missing a not-pushed version bump commit, otherwise I'd have applied this. sorry, just pushed the missing commit. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-11-25 11:03 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-24 15:41 [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Stefan Reiter 2020-11-24 15:41 ` [pve-devel] [PATCH v3 pve-qemu 1/3] update patches with squashed in 'include library version' Stefan Reiter 2020-11-25 10:59 ` [pve-devel] applied: " Fabian Grünbichler 2020-11-24 15:41 ` [pve-devel] [PATCH v3 proxmox-backup-qemu 2/3] return version via rust fn instead of header define Stefan Reiter 2020-11-25 7:36 ` [pve-devel] applied: " Dietmar Maurer 2020-11-24 15:41 ` [pve-devel] [PATCH v3 qemu-server 3/3] print query-proxmox-support result in 'full' status Stefan Reiter 2020-11-25 9:09 ` Fabian Grünbichler 2020-11-25 9:36 ` Stefan Reiter 2020-11-25 11:03 ` [pve-devel] applied: " Fabian Grünbichler 2020-11-24 16:29 ` [pve-devel] [PATCH v3 0/3] Add proxmox-backup-qemu version to VM status output Fabian Grünbichler 2020-11-24 18:27 ` Dietmar Maurer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox