|
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));
|