#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/statfs.h>
-#include <blkid.h>
+#include <blkid/blkid.h>
#ifdef HAVE_LINUX_BTRFS_H
#include <linux/btrfs.h>
errno = 0;
r = blkid_do_safeprobe(b);
- if (r == -2)
- return -ENODEV;
- else if (r == 1)
- return -ENODEV;
+ if (r == -2 || r == 1) /* no result or uncertain */
+ return -EBADSLT;
else if (r != 0)
return errno ? -errno : -EIO;
if (!lnk)
return log_oom();
-
mkdir_parents_label(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink %s: %m", lnk);
r = verify_gpt_partition(node, &type_id, &nr, &fstype);
if (r < 0) {
+ /* skip child devices which are not detected properly */
+ if (r == -EBADSLT)
+ continue;
log_error("Failed to verify GPT partition %s: %s",
node, strerror(-r));
return r;