* partitions in the host, using the appropriate directory as key and ensuring that the partition
* type matches. */
- if (type.designator == PARTITION_ROOT)
- try1 = "/";
- else if (type.designator == PARTITION_USR)
- try1 = "/usr/";
- else if (type.designator == PARTITION_ROOT_VERITY)
+ switch (type.designator) {
+
+ case PARTITION_ROOT:
+ case PARTITION_ROOT_VERITY:
+ case PARTITION_ROOT_VERITY_SIG:
try1 = "/";
- else if (type.designator == PARTITION_USR_VERITY)
+ break;
+
+ case PARTITION_USR:
+ case PARTITION_USR_VERITY:
+ case PARTITION_USR_VERITY_SIG:
try1 = "/usr/";
- else if (type.designator == PARTITION_ESP) {
+ break;
+
+ case PARTITION_ESP:
try1 = "/efi/";
try2 = "/boot/";
- } else if (type.designator == PARTITION_XBOOTLDR)
+ break;
+
+ case PARTITION_XBOOTLDR:
try1 = "/boot/";
- else
+ break;
+
+ default:
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
"Partition type " SD_ID128_FORMAT_STR " not supported from automatic source block device discovery.",
SD_ID128_FORMAT_VAL(type.uuid));
+ }
r = find_backing_devno(try1, root, &devno);
if (r == -ENOENT && try2)