mirror of
https://github.com/systemd/systemd.git
synced 2024-10-28 11:55:44 +03:00
Merge pull request #929 from kaysievers/gpt
gpt-auto-generator: apply partition-type flags only to specific parti…
This commit is contained in:
commit
3f1818cf70
@ -666,7 +666,6 @@ static int enumerate_partitions(dev_t devnum) {
|
||||
blkid_partition pp;
|
||||
dev_t qn;
|
||||
int nr;
|
||||
unsigned long long flags;
|
||||
|
||||
q = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
|
||||
if (!q)
|
||||
@ -690,13 +689,6 @@ static int enumerate_partitions(dev_t devnum) {
|
||||
if (!pp)
|
||||
continue;
|
||||
|
||||
flags = blkid_partition_get_flags(pp);
|
||||
|
||||
/* Ignore partitions that are not marked for automatic
|
||||
* mounting on discovery */
|
||||
if (flags & GPT_FLAG_NO_AUTO)
|
||||
continue;
|
||||
|
||||
nr = blkid_partition_get_partno(pp);
|
||||
if (nr < 0)
|
||||
continue;
|
||||
@ -709,6 +701,11 @@ static int enumerate_partitions(dev_t devnum) {
|
||||
continue;
|
||||
|
||||
if (sd_id128_equal(type_id, GPT_SWAP)) {
|
||||
unsigned long long flags;
|
||||
|
||||
flags = blkid_partition_get_flags(pp);
|
||||
if (flags & GPT_FLAG_NO_AUTO)
|
||||
continue;
|
||||
|
||||
if (flags & GPT_FLAG_READ_ONLY) {
|
||||
log_debug("%s marked as read-only swap partition, which is bogus. Ignoring.", subnode);
|
||||
@ -732,6 +729,11 @@ static int enumerate_partitions(dev_t devnum) {
|
||||
return log_oom();
|
||||
|
||||
} else if (sd_id128_equal(type_id, GPT_HOME)) {
|
||||
unsigned long long flags;
|
||||
|
||||
flags = blkid_partition_get_flags(pp);
|
||||
if (flags & GPT_FLAG_NO_AUTO)
|
||||
continue;
|
||||
|
||||
/* We only care for the first /home partition */
|
||||
if (home && nr >= home_nr)
|
||||
@ -745,6 +747,11 @@ static int enumerate_partitions(dev_t devnum) {
|
||||
return log_oom();
|
||||
|
||||
} else if (sd_id128_equal(type_id, GPT_SRV)) {
|
||||
unsigned long long flags;
|
||||
|
||||
flags = blkid_partition_get_flags(pp);
|
||||
if (flags & GPT_FLAG_NO_AUTO)
|
||||
continue;
|
||||
|
||||
/* We only care for the first /srv partition */
|
||||
if (srv && nr >= srv_nr)
|
||||
|
@ -143,6 +143,11 @@ static int find_gpt_root(struct udev_device *dev, blkid_probe pr, bool test) {
|
||||
|
||||
if (sd_id128_equal(type, GPT_ESP)) {
|
||||
sd_id128_t id, esp;
|
||||
unsigned long long flags;
|
||||
|
||||
flags = blkid_partition_get_flags(pp);
|
||||
if (flags & GPT_FLAG_NO_AUTO)
|
||||
continue;
|
||||
|
||||
/* We found an ESP, let's see if it matches
|
||||
* the ESP we booted from. */
|
||||
|
Loading…
Reference in New Issue
Block a user