Zbigniew Jędrzejewski-Szmek 126222
From 15ef380be7e38898fe2aef4ae3aa6fb0ce804564 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 126222
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek 126222
Date: Sat, 11 Jan 2014 16:45:29 -0500
Zbigniew Jędrzejewski-Szmek 126222
Subject: [PATCH] gpt-auto-generator: use EBADSLT code when unable to detect
Zbigniew Jędrzejewski-Szmek 126222
 partition type
Zbigniew Jędrzejewski-Szmek 126222
Zbigniew Jędrzejewski-Szmek 126222
ENODEV suggests that something is missing, which is be misleading
Zbigniew Jędrzejewski-Szmek 126222
here.
Zbigniew Jędrzejewski-Szmek 126222
---
Zbigniew Jędrzejewski-Szmek 126222
 src/gpt-auto-generator/gpt-auto-generator.c | 8 +++-----
Zbigniew Jędrzejewski-Szmek 126222
 1 file changed, 3 insertions(+), 5 deletions(-)
Zbigniew Jędrzejewski-Szmek 126222
Zbigniew Jędrzejewski-Szmek 126222
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
Zbigniew Jędrzejewski-Szmek 126222
index 0e8e959..d7c09f0 100644
Zbigniew Jędrzejewski-Szmek 126222
--- a/src/gpt-auto-generator/gpt-auto-generator.c
Zbigniew Jędrzejewski-Szmek 126222
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
Zbigniew Jędrzejewski-Szmek 126222
@@ -74,10 +74,8 @@ static int verify_gpt_partition(const char *node, sd_id128_t *type, unsigned *nr
Zbigniew Jędrzejewski-Szmek 126222
 
Zbigniew Jędrzejewski-Szmek 126222
         errno = 0;
Zbigniew Jędrzejewski-Szmek 126222
         r = blkid_do_safeprobe(b);
Zbigniew Jędrzejewski-Szmek 126222
-        if (r == -2)
Zbigniew Jędrzejewski-Szmek 126222
-                return -ENODEV;
Zbigniew Jędrzejewski-Szmek 126222
-        else if (r == 1)
Zbigniew Jędrzejewski-Szmek 126222
-                return -ENODEV;
Zbigniew Jędrzejewski-Szmek 126222
+        if (r == -2 || r == 1) /* no result or uncertain */
Zbigniew Jędrzejewski-Szmek 126222
+                return -EBADSLT;
Zbigniew Jędrzejewski-Szmek 126222
         else if (r != 0)
Zbigniew Jędrzejewski-Szmek 126222
                 return errno ? -errno : -EIO;
Zbigniew Jędrzejewski-Szmek 126222
 
Zbigniew Jędrzejewski-Szmek 126222
@@ -299,7 +297,7 @@ static int enumerate_partitions(struct udev *udev, dev_t dev) {
Zbigniew Jędrzejewski-Szmek 126222
                 r = verify_gpt_partition(node, &type_id, &nr, &fstype);
Zbigniew Jędrzejewski-Szmek 126222
                 if (r < 0) {
Zbigniew Jędrzejewski-Szmek 126222
                         /* skip child devices which are not detected properly */
Zbigniew Jędrzejewski-Szmek 126222
-                        if (r == -ENODEV)
Zbigniew Jędrzejewski-Szmek 126222
+                        if (r == -EBADSLT)
Zbigniew Jędrzejewski-Szmek 126222
                                 continue;
Zbigniew Jędrzejewski-Szmek 126222
                         log_error("Failed to verify GPT partition %s: %s",
Zbigniew Jędrzejewski-Szmek 126222
                                   node, strerror(-r));