[PATCH 1/4] nodedev: refactor storage type fixup

Boris Fiuczynski posted 4 patches 4 months ago
[PATCH 1/4] nodedev: refactor storage type fixup
Posted by Boris Fiuczynski 4 months ago
Refactor the storage type fixup into a reusable method.

Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
---
 src/node_device/node_device_udev.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 3b85db00da..15e31d522a 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -962,6 +962,21 @@ udevProcessDASD(struct udev_device *device,
 }
 
 
+static int
+udevFixupStorageType(virNodeDeviceDef *def, const char *prefix, const char *subst)
+{
+    if (STRPREFIX(def->caps->data.storage.block, prefix)) {
+        def->caps->data.storage.drive_type = g_strdup(subst);
+        VIR_DEBUG("Found storage type '%s' for device with sysfs path '%s'",
+                  def->caps->data.storage.drive_type,
+                  def->sysfs_path);
+        return 1;
+    }
+
+    return 0;
+}
+
+
 /* This function exists to deal with the case in which a driver does
  * not provide a device type in the usual place, but udev told us it's
  * a storage device, and we can make a good guess at what kind of
@@ -994,13 +1009,8 @@ udevKludgeStorageType(virNodeDeviceDef *def)
               def->sysfs_path);
 
     for (i = 0; i < G_N_ELEMENTS(fixups); i++) {
-        if (STRPREFIX(def->caps->data.storage.block, fixups[i].prefix)) {
-            def->caps->data.storage.drive_type = g_strdup(fixups[i].subst);
-            VIR_DEBUG("Found storage type '%s' for device with sysfs path '%s'",
-                      def->caps->data.storage.drive_type,
-                      def->sysfs_path);
+        if (udevFixupStorageType(def, fixups[i].prefix, fixups[i].subst))
             return 0;
-        }
     }
 
     VIR_DEBUG("Could not determine storage type "
-- 
2.45.0
Re: [PATCH 1/4] nodedev: refactor storage type fixup
Posted by Michal Prívozník 3 months, 4 weeks ago
On 6/19/24 14:29, Boris Fiuczynski wrote:
> Refactor the storage type fixup into a reusable method.
> 
> Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
> Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
> ---
>  src/node_device/node_device_udev.c | 22 ++++++++++++++++------
>  1 file changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
> index 3b85db00da..15e31d522a 100644
> --- a/src/node_device/node_device_udev.c
> +++ b/src/node_device/node_device_udev.c
> @@ -962,6 +962,21 @@ udevProcessDASD(struct udev_device *device,
>  }
>  
>  
> +static int
> +udevFixupStorageType(virNodeDeviceDef *def, const char *prefix, const char *subst)

Nitpick, one argument per line please.

> +{
> +    if (STRPREFIX(def->caps->data.storage.block, prefix)) {
> +        def->caps->data.storage.drive_type = g_strdup(subst);
> +        VIR_DEBUG("Found storage type '%s' for device with sysfs path '%s'",
> +                  def->caps->data.storage.drive_type,
> +                  def->sysfs_path);
> +        return 1;
> +    }
> +
> +    return 0;
> +}
> +
> +
>  /* This function exists to deal with the case in which a driver does
>   * not provide a device type in the usual place, but udev told us it's
>   * a storage device, and we can make a good guess at what kind of
> @@ -994,13 +1009,8 @@ udevKludgeStorageType(virNodeDeviceDef *def)
>                def->sysfs_path);
>  
>      for (i = 0; i < G_N_ELEMENTS(fixups); i++) {
> -        if (STRPREFIX(def->caps->data.storage.block, fixups[i].prefix)) {
> -            def->caps->data.storage.drive_type = g_strdup(fixups[i].subst);
> -            VIR_DEBUG("Found storage type '%s' for device with sysfs path '%s'",
> -                      def->caps->data.storage.drive_type,
> -                      def->sysfs_path);
> +        if (udevFixupStorageType(def, fixups[i].prefix, fixups[i].subst))
>              return 0;
> -        }
>      }
>  
>      VIR_DEBUG("Could not determine storage type "

Michal