- 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/package/show/Base:System/parted?expand=0&rev=105
This commit is contained in:
parent
d77216bc9a
commit
64eafa17ea
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.
|
0x84 on MS-DOS and D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593 on GPT.
|
||||||
|
|
||||||
---
|
---
|
||||||
doc/C/parted.8 | 2 +-
|
doc/C/parted.8 | 2 +-
|
||||||
include/parted/disk.h | 5 +++--
|
include/parted/disk.in.h | 5 +++--
|
||||||
libparted/disk.c | 2 ++
|
libparted/disk.c | 2 ++
|
||||||
libparted/labels/dos.c | 21 +++++++++++++++++++++
|
libparted/labels/dos.c | 21 +++++++++++++++++++++
|
||||||
libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
|
libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
|
||||||
5 files changed, 64 insertions(+), 3 deletions(-)
|
5 files changed, 64 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
Index: parted-3.1/doc/C/parted.8
|
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".
|
\fIstate\fP should be either "on" or "off".
|
||||||
.TP
|
.TP
|
||||||
.B unit \fIunit\fP
|
.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.orig/include/parted/disk.in.h
|
||||||
+++ parted-3.1/include/parted/disk.h
|
+++ parted-3.1/include/parted/disk.in.h
|
||||||
@@ -73,10 +73,11 @@ enum _PedPartitionFlag {
|
@@ -73,10 +73,11 @@ enum _PedPartitionFlag {
|
||||||
PED_PARTITION_APPLE_TV_RECOVERY=13,
|
PED_PARTITION_APPLE_TV_RECOVERY=13,
|
||||||
PED_PARTITION_DIAG=14,
|
PED_PARTITION_DIAG=14,
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
---
|
---
|
||||||
include/parted/disk.h | 9 +++++++--
|
include/parted/disk.in.h | 9 +++++++--
|
||||||
libparted/disk.c | 33 +++++++++++++++++++++++++++++++++
|
libparted/disk.c | 33 +++++++++++++++++++++++++++++++++
|
||||||
libparted/labels/mac.c | 34 +++++++++++++++++++++++++++++++++-
|
libparted/labels/mac.c | 34 +++++++++++++++++++++++++++++++++-
|
||||||
parted/parted.c | 12 ++++++++++++
|
parted/parted.c | 12 ++++++++++++
|
||||||
4 files changed, 85 insertions(+), 3 deletions(-)
|
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.orig/include/parted/disk.in.h
|
||||||
+++ parted-3.1/include/parted/disk.h
|
+++ parted-3.1/include/parted/disk.in.h
|
||||||
@@ -80,10 +80,11 @@ enum _PedPartitionFlag {
|
@@ -80,10 +80,11 @@ enum _PedPartitionFlag {
|
||||||
|
|
||||||
enum _PedDiskTypeFeature {
|
enum _PedDiskTypeFeature {
|
||||||
@ -32,7 +32,7 @@ Index: parted-3.1/include/parted/disk.h
|
|||||||
bool (*get_max_supported_partition_count) (const PedDisk* disk,
|
bool (*get_max_supported_partition_count) (const PedDisk* disk,
|
||||||
int* supported);
|
int* supported);
|
||||||
PedAlignment *(*get_partition_alignment)(const PedDisk *disk);
|
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,
|
extern int ped_partition_set_system (PedPartition* part,
|
||||||
const PedFileSystemType* fs_type);
|
const PedFileSystemType* fs_type);
|
||||||
extern int ped_partition_set_name (PedPartition* part, const char* name);
|
extern int ped_partition_set_name (PedPartition* part, const char* name);
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
---
|
---
|
||||||
include/parted/disk.h | 5 ++--
|
include/parted/disk.in.h | 5 ++-
|
||||||
libparted/disk.c | 2 +
|
libparted/disk.c | 2 +
|
||||||
libparted/labels/dos.c | 8 ++++++
|
libparted/labels/dos.c | 8 ++++++
|
||||||
parted/parted.c | 59 ++++++++++++++++++++++++++++++++-----------------
|
parted/parted.c | 59 +++++++++++++++++++++++++++++++----------------
|
||||||
parted/ui.c | 3 ++
|
parted/ui.c | 3 ++
|
||||||
5 files changed, 55 insertions(+), 22 deletions(-)
|
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.orig/include/parted/disk.in.h
|
||||||
+++ parted-3.1/include/parted/disk.h
|
+++ parted-3.1/include/parted/disk.in.h
|
||||||
@@ -72,10 +72,11 @@ enum _PedPartitionFlag {
|
@@ -72,10 +72,11 @@ enum _PedPartitionFlag {
|
||||||
PED_PARTITION_BIOS_GRUB=12,
|
PED_PARTITION_BIOS_GRUB=12,
|
||||||
PED_PARTITION_APPLE_TV_RECOVERY=13,
|
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
|
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
|
Patch39: libparted-mklabel-to-support-EDEV-DASD.patch
|
||||||
Patch40: libparted-make-BLKRRPART-more-robust.patch
|
Patch40: libparted-make-BLKRRPART-more-robust.patch
|
||||||
Patch41: libparted-make-sure-not-to-treat-percentages-and-cyls-as-exact.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
|
Patch100: parted-fatresize-autoconf.patch
|
||||||
Requires: /sbin/udevadm
|
Requires: /sbin/udevadm
|
||||||
BuildRequires: check-devel
|
BuildRequires: check-devel
|
||||||
@ -154,6 +155,7 @@ to develop applications that require these.
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%patch42 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user