forked from pool/parted
Accepting request 250649 from Base:System
- Add an "implicit_partition_table" disk flag to mark FBA DASD disks with fake partition (bnc#894585) - libparted-dasd-implicit-partition-disk-flag.patch - refresh following patches to fix build: - parted-type.patch - parted-mac.patch - parted-Add-Intel-Rapid-Start-Technology-partition.patch OBS-URL: https://build.opensuse.org/request/show/250649 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/parted?expand=0&rev=102
This commit is contained in:
commit
bfd2687296
127
libparted-dasd-implicit-partition-disk-flag.patch
Normal file
127
libparted-dasd-implicit-partition-disk-flag.patch
Normal file
@ -0,0 +1,127 @@
|
||||
---
|
||||
include/parted/disk.in.h | 4 +++-
|
||||
libparted/disk.c | 2 ++
|
||||
libparted/labels/dasd.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 50 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: parted-3.1/include/parted/disk.in.h
|
||||
===================================================================
|
||||
--- parted-3.1.orig/include/parted/disk.in.h
|
||||
+++ parted-3.1/include/parted/disk.in.h
|
||||
@@ -38,9 +38,11 @@ enum _PedDiskFlag {
|
||||
PED_DISK_CYLINDER_ALIGNMENT=1,
|
||||
/* This flag controls whether the boot flag of a GPT PMBR is set */
|
||||
PED_DISK_GPT_PMBR_BOOT=2,
|
||||
+ /* This flag indicates that there is an implicit (aka fake) partition on the DASD disk */
|
||||
+ PED_DISK_DASD_IMPLICIT_PARTITION=3,
|
||||
};
|
||||
#define PED_DISK_FIRST_FLAG PED_DISK_CYLINDER_ALIGNMENT
|
||||
-#define PED_DISK_LAST_FLAG PED_DISK_GPT_PMBR_BOOT
|
||||
+#define PED_DISK_LAST_FLAG PED_DISK_DASD_IMPLICIT_PARTITION
|
||||
|
||||
/**
|
||||
* Partition types
|
||||
Index: parted-3.1/libparted/disk.c
|
||||
===================================================================
|
||||
--- parted-3.1.orig/libparted/disk.c
|
||||
+++ parted-3.1/libparted/disk.c
|
||||
@@ -838,6 +838,8 @@ ped_disk_flag_get_name(PedDiskFlag flag)
|
||||
return N_("cylinder_alignment");
|
||||
case PED_DISK_GPT_PMBR_BOOT:
|
||||
return N_("pmbr_boot");
|
||||
+ case PED_DISK_DASD_IMPLICIT_PARTITION:
|
||||
+ return N_("implicit_partition_table");
|
||||
default:
|
||||
ped_exception_throw (
|
||||
PED_EXCEPTION_BUG,
|
||||
Index: parted-3.1/libparted/labels/dasd.c
|
||||
===================================================================
|
||||
--- parted-3.1.orig/libparted/labels/dasd.c
|
||||
+++ parted-3.1/libparted/labels/dasd.c
|
||||
@@ -73,6 +73,7 @@ typedef struct {
|
||||
unsigned int format_type;
|
||||
unsigned int label_block;
|
||||
volume_label_t vlabel;
|
||||
+ unsigned int has_implicit_partition;
|
||||
} DasdDiskSpecific;
|
||||
|
||||
static int dasd_probe (const PedDevice *dev);
|
||||
@@ -107,6 +108,10 @@ static int dasd_partition_set_system (Pe
|
||||
const PedFileSystemType* fs_type);
|
||||
static int dasd_alloc_metadata (PedDisk* disk);
|
||||
|
||||
+static int dasd_disk_set_flag (PedDisk *disk, PedDiskFlag flag, int state);
|
||||
+static int dasd_disk_is_flag_available(const PedDisk *disk, PedDiskFlag flag);
|
||||
+static int dasd_disk_get_flag (const PedDisk *disk, PedDiskFlag flag);
|
||||
+
|
||||
#include "pt-common.h"
|
||||
PT_define_limit_functions (dasd)
|
||||
|
||||
@@ -116,6 +121,9 @@ static PedDiskOps dasd_disk_ops = {
|
||||
|
||||
partition_set_name: NULL,
|
||||
partition_get_name: NULL,
|
||||
+ disk_set_flag: dasd_disk_set_flag,
|
||||
+ disk_get_flag: dasd_disk_get_flag,
|
||||
+ disk_is_flag_available: dasd_disk_is_flag_available,
|
||||
|
||||
get_partition_alignment: dasd_get_partition_alignment,
|
||||
|
||||
@@ -150,6 +158,8 @@ dasd_alloc (const PedDevice* dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ disk_specific->has_implicit_partition = 0;
|
||||
+
|
||||
/* CDL format, newer */
|
||||
disk_specific->format_type = 2;
|
||||
disk_specific->label_block = 2;
|
||||
@@ -293,6 +303,7 @@ dasd_read (PedDisk* disk)
|
||||
goto error_close_dev;
|
||||
|
||||
disk_specific->format_type = 1;
|
||||
+ disk_specific->has_implicit_partition = 1;
|
||||
|
||||
/* Register implicit partition */
|
||||
ped_disk_delete_all (disk);
|
||||
@@ -905,6 +916,40 @@ dasd_partition_enumerate (PedPartition*
|
||||
}
|
||||
|
||||
static int
|
||||
+dasd_disk_set_flag (PedDisk *disk, PedDiskFlag flag, int state)
|
||||
+{
|
||||
+ /* PED_DISK_DASD_IMPLICIT_PARTITION is immutable */
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+dasd_disk_is_flag_available(const PedDisk *disk, PedDiskFlag flag)
|
||||
+{
|
||||
+ switch (flag)
|
||||
+ {
|
||||
+ case PED_DISK_DASD_IMPLICIT_PARTITION:
|
||||
+ return 1;
|
||||
+ default:
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+dasd_disk_get_flag (const PedDisk *disk, PedDiskFlag flag)
|
||||
+{
|
||||
+ DasdDiskSpecific* disk_specific = disk->disk_specific;
|
||||
+
|
||||
+ switch (flag)
|
||||
+ {
|
||||
+ case PED_DISK_DASD_IMPLICIT_PARTITION:
|
||||
+ return disk_specific->has_implicit_partition;
|
||||
+ break;
|
||||
+ default:
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
dasd_partition_set_system (PedPartition* part,
|
||||
const PedFileSystemType* fs_type)
|
||||
{
|
@ -8,11 +8,11 @@ This adds support for the irst partition type flag. Sets the type to
|
||||
0x84 on MS-DOS and D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593 on GPT.
|
||||
|
||||
---
|
||||
doc/C/parted.8 | 2 +-
|
||||
include/parted/disk.h | 5 +++--
|
||||
libparted/disk.c | 2 ++
|
||||
libparted/labels/dos.c | 21 +++++++++++++++++++++
|
||||
libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
|
||||
doc/C/parted.8 | 2 +-
|
||||
include/parted/disk.in.h | 5 +++--
|
||||
libparted/disk.c | 2 ++
|
||||
libparted/labels/dos.c | 21 +++++++++++++++++++++
|
||||
libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
|
||||
5 files changed, 64 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: parted-3.1/doc/C/parted.8
|
||||
@ -28,10 +28,10 @@ Index: parted-3.1/doc/C/parted.8
|
||||
\fIstate\fP should be either "on" or "off".
|
||||
.TP
|
||||
.B unit \fIunit\fP
|
||||
Index: parted-3.1/include/parted/disk.h
|
||||
Index: parted-3.1/include/parted/disk.in.h
|
||||
===================================================================
|
||||
--- parted-3.1.orig/include/parted/disk.h
|
||||
+++ parted-3.1/include/parted/disk.h
|
||||
--- parted-3.1.orig/include/parted/disk.in.h
|
||||
+++ parted-3.1/include/parted/disk.in.h
|
||||
@@ -73,10 +73,11 @@ enum _PedPartitionFlag {
|
||||
PED_PARTITION_APPLE_TV_RECOVERY=13,
|
||||
PED_PARTITION_DIAG=14,
|
||||
|
@ -1,14 +1,14 @@
|
||||
---
|
||||
include/parted/disk.h | 9 +++++++--
|
||||
libparted/disk.c | 33 +++++++++++++++++++++++++++++++++
|
||||
libparted/labels/mac.c | 34 +++++++++++++++++++++++++++++++++-
|
||||
parted/parted.c | 12 ++++++++++++
|
||||
4 files changed, 85 insertions(+), 3 deletions(-)
|
||||
include/parted/disk.in.h | 9 +++++++--
|
||||
libparted/disk.c | 33 +++++++++++++++++++++++++++++++++
|
||||
libparted/labels/mac.c | 34 +++++++++++++++++++++++++++++++++-
|
||||
parted/parted.c | 12 ++++++++++++
|
||||
5 files changed, 92 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: parted-3.1/include/parted/disk.h
|
||||
Index: parted-3.1/include/parted/disk.in.h
|
||||
===================================================================
|
||||
--- parted-3.1.orig/include/parted/disk.h
|
||||
+++ parted-3.1/include/parted/disk.h
|
||||
--- parted-3.1.orig/include/parted/disk.in.h
|
||||
+++ parted-3.1/include/parted/disk.in.h
|
||||
@@ -80,10 +80,11 @@ enum _PedPartitionFlag {
|
||||
|
||||
enum _PedDiskTypeFeature {
|
||||
@ -32,7 +32,7 @@ Index: parted-3.1/include/parted/disk.h
|
||||
bool (*get_max_supported_partition_count) (const PedDisk* disk,
|
||||
int* supported);
|
||||
PedAlignment *(*get_partition_alignment)(const PedDisk *disk);
|
||||
@@ -362,7 +365,9 @@ extern int ped_partition_is_flag_availab
|
||||
@@ -334,7 +337,9 @@ extern int ped_partition_is_flag_availab
|
||||
extern int ped_partition_set_system (PedPartition* part,
|
||||
const PedFileSystemType* fs_type);
|
||||
extern int ped_partition_set_name (PedPartition* part, const char* name);
|
||||
|
@ -1,15 +1,15 @@
|
||||
---
|
||||
include/parted/disk.h | 5 ++--
|
||||
libparted/disk.c | 2 +
|
||||
libparted/labels/dos.c | 8 ++++++
|
||||
parted/parted.c | 59 ++++++++++++++++++++++++++++++++-----------------
|
||||
parted/ui.c | 3 ++
|
||||
5 files changed, 55 insertions(+), 22 deletions(-)
|
||||
include/parted/disk.in.h | 5 ++-
|
||||
libparted/disk.c | 2 +
|
||||
libparted/labels/dos.c | 8 ++++++
|
||||
parted/parted.c | 59 +++++++++++++++++++++++++++++++----------------
|
||||
parted/ui.c | 3 ++
|
||||
6 files changed, 58 insertions(+), 24 deletions(-)
|
||||
|
||||
Index: parted-3.1/include/parted/disk.h
|
||||
Index: parted-3.1/include/parted/disk.in.h
|
||||
===================================================================
|
||||
--- parted-3.1.orig/include/parted/disk.h
|
||||
+++ parted-3.1/include/parted/disk.h
|
||||
--- parted-3.1.orig/include/parted/disk.in.h
|
||||
+++ parted-3.1/include/parted/disk.in.h
|
||||
@@ -72,10 +72,11 @@ enum _PedPartitionFlag {
|
||||
PED_PARTITION_BIOS_GRUB=12,
|
||||
PED_PARTITION_APPLE_TV_RECOVERY=13,
|
||||
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 10:30:04 UTC 2014 - puzel@suse.com
|
||||
|
||||
- Add an "implicit_partition_table" disk flag to mark
|
||||
FBA DASD disks with fake partition (bnc#894585)
|
||||
- libparted-dasd-implicit-partition-disk-flag.patch
|
||||
- refresh following patches to fix build:
|
||||
- parted-type.patch
|
||||
- parted-mac.patch
|
||||
- parted-Add-Intel-Rapid-Start-Technology-partition.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 6 21:47:27 UTC 2014 - andreas.stieger@gmx.de
|
||||
|
||||
|
@ -66,6 +66,7 @@ Patch38: libparted-Avoid-dasd-as-default-disk-type-while-probe.patch
|
||||
Patch39: libparted-mklabel-to-support-EDEV-DASD.patch
|
||||
Patch40: libparted-make-BLKRRPART-more-robust.patch
|
||||
Patch41: libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.patch
|
||||
Patch42: libparted-dasd-implicit-partition-disk-flag.patch
|
||||
Patch100: parted-fatresize-autoconf.patch
|
||||
Requires: /sbin/udevadm
|
||||
BuildRequires: check-devel
|
||||
@ -154,6 +155,7 @@ to develop applications that require these.
|
||||
%patch39 -p1
|
||||
%patch40 -p1
|
||||
%patch41 -p1
|
||||
%patch42 -p1
|
||||
%patch100 -p1
|
||||
|
||||
%build
|
||||
|
Loading…
x
Reference in New Issue
Block a user