forked from pool/parted
Fix handling of DASD-CDL flags lvm, raid and swap (fate#314888) OBS-URL: https://build.opensuse.org/request/show/503981 OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=128
45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
From: Andre Wild <wild@linux.vnet.ibm.com>
|
|
Date: Fri, 24 Mar 2017 03:11:11 +0100
|
|
Subject: libparted/dasd: improve lvm/raid flag handling for DASD-CDL
|
|
References: bsc#1040163, fate#314888
|
|
Patch-mainline: submitted, 2017-05-23
|
|
|
|
This commit corrects the reading of lvm/raid flags on DASD/CDL formatted
|
|
disks. Previously, users were not able to see what was the actual flags
|
|
stored on the disk. Now the file system check is removed and this issue
|
|
is corrected.
|
|
|
|
Fixes: c8873b0044c8 ("When reading the DASD disk label, ...")
|
|
Signed-off-by: Andre Wild <wild@linux.vnet.ibm.com>
|
|
Signed-off-by: Wang Dong <dongdwdw@linux.vnet.ibm.com>
|
|
Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
|
|
Acked-by: Sebastian Parschauer <sparschauer@suse.de>
|
|
---
|
|
libparted/labels/dasd.c | 15 +++------------
|
|
1 file changed, 3 insertions(+), 12 deletions(-)
|
|
|
|
--- a/libparted/labels/dasd.c
|
|
+++ b/libparted/labels/dasd.c
|
|
@@ -457,18 +457,9 @@ dasd_read (PedDisk* disk)
|
|
}
|
|
|
|
dasd_data = part->disk_specific;
|
|
-
|
|
- if ((strncmp(PART_TYPE_RAID, str, 6) == 0) &&
|
|
- (ped_file_system_probe(&part->geom) == NULL))
|
|
- ped_partition_set_flag(part, PED_PARTITION_RAID, 1);
|
|
- else
|
|
- ped_partition_set_flag(part, PED_PARTITION_RAID, 0);
|
|
-
|
|
- if ((strncmp(PART_TYPE_LVM, str, 6) == 0) &&
|
|
- (ped_file_system_probe(&part->geom) == NULL))
|
|
- ped_partition_set_flag(part, PED_PARTITION_LVM, 1);
|
|
- else
|
|
- ped_partition_set_flag(part, PED_PARTITION_LVM, 0);
|
|
+ dasd_data->raid = !strncmp(PART_TYPE_RAID, str, 6);
|
|
+ dasd_data->lvm = !strncmp(PART_TYPE_LVM, str, 6);
|
|
+ dasd_partition_set_system(part, part->fs_type);
|
|
|
|
if (strncmp(PART_TYPE_SWAP, str, 6) == 0) {
|
|
fs = ped_file_system_probe(&part->geom);
|