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