]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virNodeDeviceCapStorageDefFormatBlocksize: Report sector size and count together
authorPeter Krempa <pkrempa@redhat.com>
Thu, 7 Dec 2023 12:01:34 +0000 (13:01 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 7 Dec 2023 15:42:32 +0000 (16:42 +0100)
Report both block count and size together when either one of them is
present equivalently to what the schema type 'blockData' in
'schemas/nodedev.rng' defines.

Resolves: https://issues.redhat.com/browse/RHEL-18165
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/node_device_conf.c

index 3af5c3b7ed5a8c04b97f11e61f654463736d35cb..4826be6f423d479a08101204b6bcbfcc5e938f9a 100644 (file)
@@ -540,13 +540,14 @@ static void
 virNodeDeviceCapStorageDefFormatBlocksize(virBuffer *buf,
                                           const virNodeDevCapData *data)
 {
-    if (data->storage.logical_block_size > 0)
-        virBufferAsprintf(buf, "<logical_block_size>%llu</logical_block_size>\n",
-                          data->storage.logical_block_size);
+    if (data->storage.logical_block_size == 0 &&
+        data->storage.num_blocks == 0)
+        return;
 
-    if (data->storage.num_blocks > 0)
-        virBufferAsprintf(buf, "<num_blocks>%llu</num_blocks>\n",
-                          data->storage.num_blocks);
+    virBufferAsprintf(buf, "<logical_block_size>%llu</logical_block_size>\n",
+                      data->storage.logical_block_size);
+    virBufferAsprintf(buf, "<num_blocks>%llu</num_blocks>\n",
+                      data->storage.num_blocks);
 }