summaryrefslogtreecommitdiff
path: root/src/home
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-12-01 15:37:59 +0100
committerLennart Poettering <lennart@poettering.net>2022-12-01 15:43:26 +0100
commit2e3944b872cf57dbccdda14ec66772e8fdd2273b (patch)
tree4f93b44ecaba93b414f01c833a567a00055761cf /src/home
parentef1f0a14fa2d933d0089fd7e52af21cc78a60493 (diff)
downloadsystemd-2e3944b872cf57dbccdda14ec66772e8fdd2273b.tar.gz
blkid-util: define enum for blkid_do_safeprobe() return values
libblkid really should define an enum for this on its own, but it currently doesn't and returns literal numeric values. Lets make this more readable by adding our own symbolic names via an enum.
Diffstat (limited to 'src/home')
-rw-r--r--src/home/homework-luks.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c
index b562cb5e92..39ad56808d 100644
--- a/src/home/homework-luks.c
+++ b/src/home/homework-luks.c
@@ -148,10 +148,12 @@ static int probe_file_system_by_fd(
errno = 0;
r = blkid_do_safeprobe(b);
- if (IN_SET(r, -2, 1)) /* nothing found or ambiguous result */
+ if (r == _BLKID_SAFEPROBE_ERROR)
+ return errno_or_else(EIO);
+ if (IN_SET(r, _BLKID_SAFEPROBE_AMBIGUOUS, _BLKID_SAFEPROBE_NOT_FOUND))
return -ENOPKG;
- if (r != 0)
- return errno > 0 ? -errno : -EIO;
+
+ assert(r == _BLKID_SAFEPROBE_FOUND);
(void) blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
if (!fstype)
@@ -665,10 +667,12 @@ static int luks_validate(
errno = 0;
r = blkid_do_safeprobe(b);
- if (IN_SET(r, -2, 1)) /* nothing found or ambiguous result */
+ if (r == _BLKID_SAFEPROBE_ERROR)
+ return errno_or_else(EIO);
+ if (IN_SET(r, _BLKID_SAFEPROBE_AMBIGUOUS, _BLKID_SAFEPROBE_NOT_FOUND))
return -ENOPKG;
- if (r != 0)
- return errno > 0 ? -errno : -EIO;
+
+ assert(r == _BLKID_SAFEPROBE_FOUND);
(void) blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
if (streq_ptr(fstype, "crypto_LUKS")) {