]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dissect-image: merge handlers for 4 different partition designators into one 25565/head
authorLennart Poettering <lennart@poettering.net>
Tue, 29 Nov 2022 17:30:18 +0000 (18:30 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 29 Nov 2022 17:34:59 +0000 (18:34 +0100)
These four branches execute the exact same code these days, hence merge
them into one.

src/shared/dissect-image.c

index 1d634c9b88a02d1cfcfe76194f3c0cd55f13581e..4872fe4d6bdb0b0431a9c4670168635ae2068662 100644 (file)
@@ -648,18 +648,11 @@ static int dissect_image(
 
                         label = blkid_partition_get_name(pp); /* libblkid returns NULL here if empty */
 
-                        if (type.designator == PARTITION_HOME) {
-
-                                check_partition_flags(node, pflags,
-                                                      SD_GPT_FLAG_NO_AUTO | SD_GPT_FLAG_READ_ONLY | SD_GPT_FLAG_GROWFS);
-
-                                if (pflags & SD_GPT_FLAG_NO_AUTO)
-                                        continue;
-
-                                rw = !(pflags & SD_GPT_FLAG_READ_ONLY);
-                                growfs = FLAGS_SET(pflags, SD_GPT_FLAG_GROWFS);
-
-                        } else if (type.designator == PARTITION_SRV) {
+                        if (IN_SET(type.designator,
+                                   PARTITION_HOME,
+                                   PARTITION_SRV,
+                                   PARTITION_XBOOTLDR,
+                                   PARTITION_TMP)) {
 
                                 check_partition_flags(node, pflags,
                                                       SD_GPT_FLAG_NO_AUTO | SD_GPT_FLAG_READ_ONLY | SD_GPT_FLAG_GROWFS);
@@ -682,17 +675,6 @@ static int dissect_image(
 
                                 fstype = "vfat";
 
-                        } else if (type.designator == PARTITION_XBOOTLDR) {
-
-                                check_partition_flags(node, pflags,
-                                                      SD_GPT_FLAG_NO_AUTO | SD_GPT_FLAG_READ_ONLY | SD_GPT_FLAG_GROWFS);
-
-                                if (pflags & SD_GPT_FLAG_NO_AUTO)
-                                        continue;
-
-                                rw = !(pflags & SD_GPT_FLAG_READ_ONLY);
-                                growfs = FLAGS_SET(pflags, SD_GPT_FLAG_GROWFS);
-
                         } else if (type.designator == PARTITION_ROOT) {
 
                                 check_partition_flags(node, pflags,
@@ -834,17 +816,6 @@ static int dissect_image(
                                                 return -ENOMEM;
                                 }
 
-                        } else if (type.designator == PARTITION_TMP) {
-
-                                check_partition_flags(node, pflags,
-                                                      SD_GPT_FLAG_NO_AUTO | SD_GPT_FLAG_READ_ONLY | SD_GPT_FLAG_GROWFS);
-
-                                if (pflags & SD_GPT_FLAG_NO_AUTO)
-                                        continue;
-
-                                rw = !(pflags & SD_GPT_FLAG_READ_ONLY);
-                                growfs = FLAGS_SET(pflags, SD_GPT_FLAG_GROWFS);
-
                         } else if (type.designator == PARTITION_VAR) {
 
                                 check_partition_flags(node, pflags,