a248769183
- Summary of important changes from upstream: - add support for a new Linux-specific GPT partition type code - partprobe: remove partitions when there is no partition table - libparted: refactor device-mapper partition sync code - libparted: remove extraneous blkpg add partition ped exception - libparted: don't probe every dm device in probe_all - New Fedora changes: - libparted: Add Intel Rapid Start Technology partition flag. - libparted: Add UEFI System Partition flag. - libparted: Add hfs_esp partition flag to GPT. - libparted: Recognize btrfs filesystem - tests: Add btrfs and xfs to the fs probe test
57 lines
1.7 KiB
Diff
57 lines
1.7 KiB
Diff
From b4758f5b4af423174871a68c235d20a646f4807b Mon Sep 17 00:00:00 2001
|
|
From: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
|
|
Date: Wed, 21 Aug 2013 16:37:17 -0700
|
|
Subject: [PATCH 62/69] libparted: mklabel to support EDEV DASD
|
|
|
|
Fixed Block Access (FBA) DASDs are mainframe-specific disk devices
|
|
which are layed out as a sequence of 512-byte sectors. This patch adds
|
|
support for mklabel to properly handle FBA devices.
|
|
|
|
Signed-off-by: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
|
|
---
|
|
libparted/labels/fdasd.c | 28 +++++++++++++++-------------
|
|
1 file changed, 15 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/libparted/labels/fdasd.c b/libparted/labels/fdasd.c
|
|
index 7de5f34..1f87937 100644
|
|
--- a/libparted/labels/fdasd.c
|
|
+++ b/libparted/labels/fdasd.c
|
|
@@ -870,19 +870,21 @@ fdasd_check_volume (fdasd_anchor_t *anc, int fd)
|
|
vtoc_read_volume_label (fd, anc->label_pos, v);
|
|
|
|
if (strncmp(v->vollbl, vtoc_ebcdic_enc ("VOL1", str, 4), 4) == 0) {
|
|
- /* found VOL1 volume label */
|
|
- b = (cchhb2blk (&v->vtoc, &anc->geo) - 1) * anc->blksize;
|
|
-
|
|
- if (b > 0) {
|
|
- int rc;
|
|
- rc = fdasd_valid_vtoc_pointer (anc, b, fd);
|
|
-
|
|
- if (rc < 0)
|
|
- return 1;
|
|
- else
|
|
- return 0;
|
|
- } else {
|
|
- fdasd_invalid_vtoc_pointer(anc);
|
|
+ if (anc->FBA_layout != 1 ) {
|
|
+ /* found VOL1 volume label */
|
|
+ b = (cchhb2blk (&v->vtoc, &anc->geo) - 1) * anc->blksize;
|
|
+
|
|
+ if (b > 0) {
|
|
+ int rc;
|
|
+ rc = fdasd_valid_vtoc_pointer (anc, b, fd);
|
|
+
|
|
+ if (rc < 0)
|
|
+ return 1;
|
|
+ else
|
|
+ return 0;
|
|
+ } else {
|
|
+ fdasd_invalid_vtoc_pointer(anc);
|
|
+ }
|
|
}
|
|
} else if (strncmp (v->volkey, vtoc_ebcdic_enc ("LNX1", str, 4), 4) == 0 ||
|
|
strncmp (v->volkey, vtoc_ebcdic_enc ("CMS1", str, 4), 4) == 0) {
|
|
--
|
|
1.8.3.1
|
|
|