GNU bug report logs - #15349
[PATCH 10/19] libparted: mklabel to support EDEV DASD

Previous Next

Package: parted;

Reported by: "Brian C. Lane" <bcl <at> redhat.com>

Date: Wed, 11 Sep 2013 20:16:03 UTC

Severity: normal

Tags: patch

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Brian C. Lane" <bcl <at> redhat.com>
To: bug-parted <at> gnu.org
Subject: [PATCH 10/19] libparted: mklabel to support EDEV DASD
Date: Wed, 11 Sep 2013 12:25:00 -0700
From: Nageswara R Sastry <rnsastry <at> linux.vnet.ibm.com>

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 <at> 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





This bug report was last modified 11 years and 282 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.