Re: [PATCH 38/80] qemuDomainGetStatsBlock: Remove pre-blockdev code paths

2022-08-05 Thread Pavel Hrdina
On Tue, Jul 26, 2022 at 04:37:16PM +0200, Peter Krempa wrote:
> This function and it's callees were a bit more entangled so remove the
> pre-blockdev code separately.
> 
> Signed-off-by: Peter Krempa 
> ---
>  src/qemu/qemu_driver.c | 80 +++---
>  1 file changed, 12 insertions(+), 68 deletions(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index e7b0acd46f..811b4a610c 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c

[...]

> @@ -18403,20 +18367,15 @@ 
> qemuDomainGetStatsBlockExportHeader(virDomainDiskDef *disk,
>  static int
>  qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk,
>GHashTable *stats,
> -  GHashTable *nodestats,
>virTypedParamList *params,
>size_t *recordnr,
>bool visitBacking,
>virQEMUDriver *driver,
>virQEMUDriverConfig *cfg,
> -  virDomainObj *dom,
> -  bool blockdev)
> +  virDomainObj *dom)
> 
>  {
>  virStorageSource *n;
> -const char *frontendalias;
> -const char *backendalias;
> -const char *backendstoragealias;
> 
>  /*
>   * This helps to keep logs clean from error messages on getting stats
> @@ -18452,9 +18411,10 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef 
> *disk,
> 
>  for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
>  g_autofree char *alias = NULL;
> +const char *frontendalias;
> +const char *backendalias;
> +const char *backendstoragealias;

This code movement seems to be unrelated.

> -/* for 'sd' disks we won't be displaying stats for the backing chain
> - * as we don't update the stats correctly */
>  if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) {
>  frontendalias = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName;
>  backendalias = n->nodeformat;
> @@ -18465,7 +18425,8 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef 
> *disk,
>  !(alias = qemuDomainStorageAlias(disk->info.alias, n->id)))
>  return -1;
> 
> -qemuDomainGetStatsOneBlockRefreshNamed(n, alias, stats, 
> nodestats);
> +/* for 'sd' disks we won't be displaying stats for the backing 
> chain
> + * as we don't update the stats correctly */

Same for the comment movement.

>  frontendalias = alias;
>  backendalias = alias;

Reviewed-by: Pavel Hrdina 


signature.asc
Description: PGP signature


Re: [PATCH 38/80] qemuDomainGetStatsBlock: Remove pre-blockdev code paths

2022-08-04 Thread Ján Tomko

On a Tuesday in 2022, Peter Krempa wrote:

This function and it's callees were a bit more entangled so remove the


s/it's/its/


pre-blockdev code separately.

Signed-off-by: Peter Krempa 
---
src/qemu/qemu_driver.c | 80 +++---
1 file changed, 12 insertions(+), 68 deletions(-)



Reviewed-by: Ján Tomko 

Jano


signature.asc
Description: PGP signature


[PATCH 38/80] qemuDomainGetStatsBlock: Remove pre-blockdev code paths

2022-07-26 Thread Peter Krempa
This function and it's callees were a bit more entangled so remove the
pre-blockdev code separately.

Signed-off-by: Peter Krempa 
---
 src/qemu/qemu_driver.c | 80 +++---
 1 file changed, 12 insertions(+), 68 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e7b0acd46f..811b4a610c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18245,42 +18245,6 @@ qemuDomainGetStatsOneBlockFallback(virQEMUDriver 
*driver,
 }


-/**
- * qemuDomainGetStatsOneBlockRefreshNamed:
- * @src: disk source structure
- * @alias: disk alias
- * @stats: hash table containing stats for all disks
- * @nodedata: reply containing 'query-named-block-nodes' data
- *
- * Refresh disk block stats data (qemuBlockStats *) which are present only
- * in the reply of 'query-named-block-nodes' in cases when the data was 
gathered
- * by using query-block originally.
- */
-static void
-qemuDomainGetStatsOneBlockRefreshNamed(virStorageSource *src,
-   const char *alias,
-   GHashTable *stats,
-   GHashTable *nodedata)
-{
-qemuBlockStats *entry;
-
-virJSONValue *data;
-unsigned long long tmp;
-
-if (!nodedata || !src->nodestorage)
-return;
-
-if (!(entry = virHashLookup(stats, alias)))
-return;
-
-if (!(data = virHashLookup(nodedata, src->nodestorage)))
-return;
-
-if (virJSONValueObjectGetNumberUlong(data, "write_threshold", ) == 0)
-entry->write_threshold = tmp;
-}
-
-
 static int
 qemuDomainGetStatsOneBlock(virQEMUDriver *driver,
virQEMUDriverConfig *cfg,
@@ -18403,20 +18367,15 @@ qemuDomainGetStatsBlockExportHeader(virDomainDiskDef 
*disk,
 static int
 qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk,
   GHashTable *stats,
-  GHashTable *nodestats,
   virTypedParamList *params,
   size_t *recordnr,
   bool visitBacking,
   virQEMUDriver *driver,
   virQEMUDriverConfig *cfg,
-  virDomainObj *dom,
-  bool blockdev)
+  virDomainObj *dom)

 {
 virStorageSource *n;
-const char *frontendalias;
-const char *backendalias;
-const char *backendstoragealias;

 /*
  * This helps to keep logs clean from error messages on getting stats
@@ -18452,9 +18411,10 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef 
*disk,

 for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
 g_autofree char *alias = NULL;
+const char *frontendalias;
+const char *backendalias;
+const char *backendstoragealias;

-/* for 'sd' disks we won't be displaying stats for the backing chain
- * as we don't update the stats correctly */
 if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) {
 frontendalias = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName;
 backendalias = n->nodeformat;
@@ -18465,7 +18425,8 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef 
*disk,
 !(alias = qemuDomainStorageAlias(disk->info.alias, n->id)))
 return -1;

-qemuDomainGetStatsOneBlockRefreshNamed(n, alias, stats, nodestats);
+/* for 'sd' disks we won't be displaying stats for the backing 
chain
+ * as we don't update the stats correctly */

 frontendalias = alias;
 backendalias = alias;
@@ -18501,7 +18462,7 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef 
*disk,
 /* in blockdev mode where we can properly and uniquely identify images we
  * can also report stats for the mirror target or the scratch image or 
target
  * of a backup operation */
-if (visitBacking && blockdev) {
+if (visitBacking) {
 qemuDomainObjPrivate *priv = dom->privateData;

 if (disk->mirror &&
@@ -18571,13 +18532,8 @@ qemuDomainGetStatsBlock(virQEMUDriver *driver,
 size_t i;
 int rc;
 g_autoptr(GHashTable) stats = NULL;
-g_autoptr(GHashTable) nodestats = NULL;
-g_autoptr(virJSONValue) nodedata = NULL;
 qemuDomainObjPrivate *priv = dom->privateData;
 g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
-bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV);
-bool fetchnodedata = virQEMUCapsGet(priv->qemuCaps,
-QEMU_CAPS_QUERY_NAMED_BLOCK_NODES) && 
!blockdev;
 int count_index = -1;
 size_t visited = 0;
 bool visitBacking = !!(privflags & QEMU_DOMAIN_STATS_BACKING);
@@ -18587,27 +18543,16 @@ qemuDomainGetStatsBlock(virQEMUDriver *driver,

 rc =