SOURCES: parted-dasd.patch - updated for 1.7.1 from FC, adjusted t...

qboosh qboosh at pld-linux.org
Sun May 28 00:08:07 CEST 2006


Author: qboosh                       Date: Sat May 27 22:08:07 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- updated for 1.7.1 from FC, adjusted two prototypes to kill warnings

---- Files affected:
SOURCES:
   parted-dasd.patch (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: SOURCES/parted-dasd.patch
diff -u SOURCES/parted-dasd.patch:1.3 SOURCES/parted-dasd.patch:1.4
--- SOURCES/parted-dasd.patch:1.3	Fri Nov  4 11:44:06 2005
+++ SOURCES/parted-dasd.patch	Sun May 28 00:08:02 2006
@@ -1,4384 +1,4378 @@
---- parted-1.6.25/include/parted/device.h.orig	2005-10-19 22:13:26.000000000 +0200
-+++ parted-1.6.25/include/parted/device.h	2005-11-04 10:03:56.934241352 +0100
-@@ -33,7 +33,8 @@
- 	PED_DEVICE_FILE		= 5,
- 	PED_DEVICE_ATARAID	= 6,
- 	PED_DEVICE_I2O		= 7,
--	PED_DEVICE_UBD		= 8
-+	PED_DEVICE_UBD		= 8,
-+	PED_DEVICE_DASD		= 9
+diff -urN parted-1.7.0.orig/include/parted/device.h parted-1.7.0/include/parted/device.h
+--- parted-1.7.0.orig/include/parted/device.h	2006-05-19 14:37:18.000000000 -0400
++++ parted-1.7.0/include/parted/device.h	2006-05-19 14:37:55.000000000 -0400
+@@ -43,6 +43,7 @@
+         PED_DEVICE_ATARAID      = 6,
+         PED_DEVICE_I2O          = 7,
+         PED_DEVICE_UBD          = 8,
++        PED_DEVICE_DASD         = 9,
+         PED_DEVICE_SX8          = 11
  } PedDeviceType;
  
- typedef struct _PedDevice PedDevice;
-diff -ruN --minimal parted-1.6.21.orig/include/parted/disk.h parted-1.6.21/include/parted/disk.h
---- parted-1.6.21.orig/include/parted/disk.h	2005-01-04 11:09:50.000000000 -0500
-+++ parted-1.6.21/include/parted/disk.h	2005-01-21 15:00:40.422628505 -0500
-@@ -36,7 +36,8 @@
- 	PED_PARTITION_LOGICAL		= 0x01,
- 	PED_PARTITION_EXTENDED		= 0x02,
- 	PED_PARTITION_FREESPACE		= 0x04,
--	PED_PARTITION_METADATA		= 0x08
-+	PED_PARTITION_METADATA		= 0x08,
-+	PED_PARTITION_PROTECTED		= 0x10
+diff -urN parted-1.7.0.orig/include/parted/disk.h parted-1.7.0/include/parted/disk.h
+--- parted-1.7.0.orig/include/parted/disk.h	2006-05-15 05:49:54.000000000 -0400
++++ parted-1.7.0/include/parted/disk.h	2006-05-19 14:37:55.000000000 -0400
+@@ -46,7 +46,8 @@
+         PED_PARTITION_LOGICAL           = 0x01,
+         PED_PARTITION_EXTENDED          = 0x02,
+         PED_PARTITION_FREESPACE         = 0x04,
+-        PED_PARTITION_METADATA          = 0x08
++        PED_PARTITION_METADATA          = 0x08,
++        PED_PARTITION_PROTECTED         = 0x10
  } PedPartitionType;
  
- typedef enum {
-diff -ruN --minimal parted-1.6.21.orig/include/parted/linux.h parted-1.6.21/include/parted/linux.h
---- parted-1.6.21.orig/include/parted/linux.h	2001-12-26 19:26:08.000000000 -0500
-+++ parted-1.6.21/include/parted/linux.h	2005-01-21 15:00:40.422628505 -0500
-@@ -29,6 +29,11 @@
- 
- struct _LinuxSpecific {
- 	int	fd;
-+#if defined(__s390__) || defined(__s390x__)
-+	unsigned int	real_sector_size;
-+        /* IBM internal dasd structure (i guess ;), required. */
-+        struct fdasd_anchor  *anchor;
-+#endif
- };
- 
- extern PedArchitecture ped_linux_arch;
-diff -ruN --minimal parted-1.6.21.orig/libparted/Makefile.am parted-1.6.21/libparted/Makefile.am
---- parted-1.6.21.orig/libparted/Makefile.am	2005-01-05 18:16:52.000000000 -0500
-+++ parted-1.6.21/libparted/Makefile.am	2005-01-21 15:00:40.423628479 -0500
-@@ -35,6 +35,11 @@
- 			timer.c			\
- 			disk.c			\
- 			disk_bsd.c		\
-+			disk_dasd.c		\
-+			fdasd.c 		\
-+			fdasd.h 		\
-+			vtoc.c 			\
-+			vtoc.h 			\
- 			disk_dos.c		\
- 			disk_gpt.c		\
- 			disk_loop.c		\
-diff -ruN --minimal parted-1.6.21.orig/libparted/disk_dasd.c parted-1.6.21/libparted/disk_dasd.c
---- parted-1.6.21.orig/libparted/disk_dasd.c	1969-12-31 19:00:00.000000000 -0500
-+++ parted-1.6.21/libparted/disk_dasd.c	2005-01-21 15:00:40.425628426 -0500
-@@ -0,0 +1,882 @@
-+/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ /**
+diff -urN parted-1.7.0.orig/include/parted/fdasd.h parted-1.7.0/include/parted/fdasd.h
+--- parted-1.7.0.orig/include/parted/fdasd.h	1969-12-31 19:00:00.000000000 -0500
++++ parted-1.7.0/include/parted/fdasd.h	2006-05-19 14:37:55.000000000 -0400
+@@ -0,0 +1,230 @@
++/*
++ * File...........: s390-tools/fdasd/fdasd.h
++ * Author(s)......: Volker Sameske <sameske at de.ibm.com>
++ *                  Horst Hummel   <Horst.Hummel at de.ibm.com>
++ * Bugreports.to..: <Linux390 at de.ibm.com>
++ * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2001-2002
++ *
++ * History of changes (starts March 2001)
++ * version 1.01 - menu entry 's' to show mapping devnode - DS name
++ *         1.02 - DS names count now from 0001 instead from 0000
++ *         1.03 - volser checks: 'AA AAA' to 'AAAAA '
++ *              - removed dependency to kernel headers.
++ *         1.04 - added -p option
++ *         1.05 - new API policy, set it back to 0
++ */
++#ifndef FDASD_H
++#define FDASD_H
 +
-+    libparted - a library for manipulating disk partitions
-+    Copyright (C) 2000, 2001 Free Software Foundation, Inc.
++/*****************************************************************************
++ * SECTION: Definitions needed for DASD-API (see dasd.h)                     *
++ *****************************************************************************/
 +
-+    This program is free software; you can redistribute it and/or modify
-+    it under the terms of the GNU General Public License as published by
-+    the Free Software Foundation; either version 2 of the License, or
-+    (at your option) any later version.
++#define DASD_IOCTL_LETTER 'D'
 +
-+    This program is distributed in the hope that it will be useful,
-+    but WITHOUT ANY WARRANTY; without even the implied warranty of
-+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+    GNU General Public License for more details.
++#define DASD_PARTN_BITS 2
 +
-+    You should have received a copy of the GNU General Public License
-+    along with this program; if not, write to the Free Software
-+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++#define PARTITION_LINUX_SWAP    0x82
++#define PARTITION_LINUX         0x83
++#define PARTITION_LINUX_EXT     0x85
++#define PARTITION_LINUX_LVM     0x8e
++#define PARTITION_LINUX_RAID    0xfd
++#define PARTITION_LINUX_LVM_OLD 0xfe
 +
-+    Contributor:  Phil Knirsch <phil at redhat.de>
-+                  Harald Hoyer <harald at redhat.de>
-+*/
++#define PART_TYPE_NATIVE "NATIVE"
++#define PART_TYPE_SWAP   "SWAP  "
++#define PART_TYPE_RAID   "RAID  "
++#define PART_TYPE_LVM   "LVM   "
 +
-+#include "config.h"
++#ifdef DEBUG_DASD
++#define PDEBUG           fprintf(stderr, "%s:%d:%s\n", \
++                         __FILE__,                              \
++                         __LINE__,                              \
++                         __PRETTY_FUNCTION__);
++#else
++#define PDEBUG
++#endif
 +
-+#include <string.h>
-+#include <stdio.h>
-+#include <errno.h>
-+#include <ctype.h>
-+#include <time.h>
-+#include <fcntl.h>
-+#include <unistd.h>
++/* 
++ * struct dasd_information_t
++ * represents any data about the device, which is visible to userspace.
++ *  including foramt and featueres.
++ */
++typedef struct dasd_information_t {
++        unsigned int devno;           /* S/390 devno                         */
++        unsigned int real_devno;      /* for aliases                         */
++        unsigned int schid;           /* S/390 subchannel identifier         */
++        unsigned int cu_type  : 16;   /* from SenseID                        */
++        unsigned int cu_model :  8;   /* from SenseID                        */
++        unsigned int dev_type : 16;   /* from SenseID                        */
++        unsigned int dev_model : 8;   /* from SenseID                        */
++        unsigned int open_count; 
++        unsigned int req_queue_len; 
++        unsigned int chanq_len;       /* length of chanq                     */
++        char type[4];                 /* from discipline.name, 'none' for    */
++	                              /* unknown                             */
++        unsigned int status;          /* current device level                */
++        unsigned int label_block;     /* where to find the VOLSER            */
++        unsigned int FBA_layout;      /* fixed block size (like AIXVOL)      */
++        unsigned int characteristics_size;
++        unsigned int confdata_size;
++        char characteristics[64];     /* from read_device_characteristics    */
++        char configuration_data[256]; /* from read_configuration_data        */
++} dasd_information_t;
 +
-+#include <sys/stat.h>
-+#include <sys/ioctl.h>
-+#include <parted/parted.h>
-+#include <parted/endian.h>
-+#include <parted/debug.h>
++/* 
++ * struct format_data_t
++ * represents all data necessary to format a dasd
++ */
++typedef struct format_data_t {
++	int start_unit; /* from track */
++	int stop_unit;  /* to track */
++	int blksize;    /* sectorsize */
++        int intensity;  
++} format_data_t;
 +
-+#include "vtoc.h"
-+#include "fdasd.h"
-+#include <parted/linux.h>
++/*
++ * values to be used for format_data_t.intensity
++ * 0/8: normal format
++ * 1/9: also write record zero
++ * 3/11: also write home address
++ * 4/12: invalidate track
++ */
++#define DASD_FMT_INT_FMT_R0 1 /* write record zero */
++#define DASD_FMT_INT_FMT_HA 2 /* write home address, also set FMT_R0 ! */
++#define DASD_FMT_INT_INVAL  4 /* invalidate tracks */
++#define DASD_FMT_INT_COMPAT 8 /* use OS/390 compatible disk layout */
 +
-+#include <libintl.h>
-+#if ENABLE_NLS
-+#  define _(String) dgettext (PACKAGE, String)
-+#else
-+#  define _(String) (String)
-+#endif /* ENABLE_NLS */
 +
++/* Disable the volume (for Linux) */
++#define BIODASDDISABLE _IO(DASD_IOCTL_LETTER,0) 
++/* Enable the volume (for Linux) */
++#define BIODASDENABLE  _IO(DASD_IOCTL_LETTER,1)  
 +
-+#define PARTITION_LINUX_SWAP	0x82
-+#define PARTITION_LINUX		0x83
-+#define PARTITION_LINUX_EXT	0x85
-+#define PARTITION_LINUX_LVM	0x8e
-+#define PARTITION_LINUX_RAID	0xfd
-+#define PARTITION_LINUX_LVM_OLD 0xfe
++/* retrieve API version number */
++#define DASDAPIVER     _IOR(DASD_IOCTL_LETTER,0,int)
++/* Get information on a dasd device (enhanced) */
++#define BIODASDINFO   _IOR(DASD_IOCTL_LETTER,1,dasd_information_t)
 +
 +
-+extern void ped_disk_dasd_init ();
-+extern void ped_disk_dasd_done ();
++/*****************************************************************************
++ * SECTION: Further IOCTL Definitions  (see fs.h)                            *
++ *****************************************************************************/
++/* re-read partition table */
++#define BLKRRPART  _IO(0x12,95)	
++/* get block device sector size */
++#define BLKSSZGET  _IO(0x12,104)
 +
++/*****************************************************************************
++ * SECTION: Definition from hdreq.h                                          *
++ *****************************************************************************/
 +
-+#define DASD_NAME "dasd"
++struct fdasd_hd_geometry {
++      unsigned char heads;
++      unsigned char sectors;
++      unsigned short cylinders;
++      unsigned long start;
++};
 +
-+typedef struct {
-+	int type;
-+        int system;
-+	int		raid;
-+	int		lvm;
-+  void            *part_info;
-+} DasdPartitionData;
++/* get device geometry */
++#define HDIO_GETGEO		0x0301	
 +
-+typedef struct {
-+        unsigned int	real_sector_size;
-+        unsigned int	format_type;
-+        /* IBM internal dasd structure (i guess ;), required. */
-+        struct fdasd_anchor  *anchor;
-+} DasdDiskSpecific;
++/*****************************************************************************
++ * SECTION: FDASD internal types                                             *
++ *****************************************************************************/
 +
-+static int dasd_probe (PedDevice *dev);
-+static int dasd_clobber (PedDevice* dev);
-+static int dasd_read (PedDisk* disk);
-+static int dasd_write (PedDisk* disk);
++#define DASD_MIN_API_VERSION 0
 +
-+static PedPartition* dasd_partition_new (
-+	const PedDisk* disk, PedPartitionType part_type,
-+       	const PedFileSystemType* fs_type, PedSector start, PedSector end);
-+static void dasd_partition_destroy (PedPartition* part);
-+static int dasd_partition_set_flag (
-+	PedPartition* part, PedPartitionFlag flag, int state);
-+static int dasd_partition_get_flag (
-+	const PedPartition* part, PedPartitionFlag flag);
-+static int dasd_partition_is_flag_available (
-+	const PedPartition* part,
-+	PedPartitionFlag flag);
-+static int dasd_partition_align (PedPartition* part,
-+	       			  const PedConstraint* constraint);
-+static int dasd_partition_enumerate (PedPartition* part);
-+static int dasd_get_max_primary_partition_count (const PedDisk* disk);
++#define DEFAULT_FDASD_CONF "/etc/fdasd.conf" /* default config file */
 +
-+static PedDisk* dasd_alloc (PedDevice* dev);
-+static PedDisk* dasd_duplicate (const PedDisk* disk);
-+static void dasd_free (PedDisk* disk);
-+static int dasd_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type);
-+static int dasd_alloc_metadata (PedDisk* disk);
++#define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1)
++#define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1)
 +
-+static PedDiskOps dasd_disk_ops = {
-+	probe:			dasd_probe,
-+	clobber:		dasd_clobber,
-+	read:			dasd_read,
-+	write:			dasd_write,
++#define FDASD_VERSION "1.05"
++#define FDASD_ERROR "fdasd error: "
++#define DEVICE "device"
++#define DISC   "disc"
++#define PART   "part"
 +
-+	alloc: dasd_alloc,
-+	duplicate: dasd_duplicate,
-+	free: dasd_free,
-+	partition_set_system:	dasd_partition_set_system,
-+	
-+	partition_new:		dasd_partition_new,
-+	partition_destroy:	dasd_partition_destroy,
-+	partition_set_flag:	dasd_partition_set_flag,
-+	partition_get_flag:	dasd_partition_get_flag,
-+	partition_is_flag_available:	dasd_partition_is_flag_available,
-+	partition_set_name:	NULL,
-+	partition_get_name:	NULL,
-+	partition_align:	dasd_partition_align,
-+	partition_enumerate:	dasd_partition_enumerate,
++#define ALTERNATE_CYLINDERS_USED 0x10
 +
-+	alloc_metadata:		dasd_alloc_metadata,
-+	get_max_primary_partition_count:
-+        dasd_get_max_primary_partition_count,
++typedef struct partition_info {
++        u_int8_t           used;
++        unsigned long      start_trk;
++        unsigned long      end_trk;
++        unsigned long      len_trk;
++        unsigned long      fspace_trk;
++        format1_label_t  * f1; 
++        struct partition_info *next;
++        struct partition_info *prev;
++        u_int8_t           type;
++} partition_info_t;
 +
-+        partition_duplicate: NULL
-+};
 +
-+static PedDiskType dasd_disk_type = {
-+	next:		NULL,
-+	name:		"dasd",
-+	ops:		&dasd_disk_ops,
-+	features:	0
-+};
-+
-+static PedDisk*
-+dasd_alloc (PedDevice* dev)
-+{
-+	PedDisk* disk;
-+	LinuxSpecific* arch_specific;
-+        DasdDiskSpecific *disk_specific;
-+
-+	PED_ASSERT (dev != NULL, return NULL);
++typedef struct config_data {
++	unsigned long start;
++	unsigned long stop;
++} config_data_t;
 +
-+        arch_specific = LINUX_SPECIFIC (dev);
-+        disk = _ped_disk_alloc (dev, &dasd_disk_type);
-+	if (!disk)
-+                return NULL;
-+        
-+	disk->disk_specific = disk_specific = ped_malloc (sizeof (DasdDiskSpecific));
-+	if (!disk->disk_specific) {
-+                ped_free (disk);
-+                return NULL;
-+        }
-+        
-+        /* because we lie to parted we have to compensate with the
-+           real sector size.  Record that now. */
-+	if (ioctl (arch_specific->fd, BLKSSZGET,
-+                   &disk_specific->real_sector_size) == -1) {
-+                ped_exception_throw (PED_EXCEPTION_ERROR,
-+                                     PED_EXCEPTION_CANCEL,
-+                                     _("Unable to determine the block "
-+                                       "size of this dasd"));
-+                ped_free (disk_specific);
-+                ped_free (disk);
-+                return NULL;
-+        }
 +
-+        return disk;
-+}
++typedef struct fdasd_anchor {
++        int vlabel_changed;
++        int vtoc_changed;
++	int devname_specified;
++	int volid_specified;
++	int config_specified;
++	int auto_partition;
++	int print_table;
++	int big_disk;
++	int silent;
++	int verbose;
++	int devno;
++	int option_reuse;
++	int option_recreate;
++	int partno[USABLE_PARTITIONS];
++	u_int16_t dev_type;
++	unsigned int used_partitions;
++	unsigned long label_pos;
++        unsigned int  blksize;
++        unsigned long fspace_trk;
++        format4_label_t  *f4;
++        format5_label_t  *f5;
++	format7_label_t  *f7;
++        partition_info_t *first;
++        partition_info_t *last;
++        volume_label_t   *vlabel;
++	config_data_t confdata[USABLE_PARTITIONS];
++	struct fdasd_hd_geometry geo;
++} fdasd_anchor_t;
 +
-+static PedDisk*
-+dasd_duplicate (const PedDisk* disk)
-+{
-+	PedDisk*	new_disk;
++enum offset {lower, upper};
 +
-+	new_disk = ped_disk_new_fresh (disk->dev, &dasd_disk_type);
-+	if (!new_disk)
-+		return NULL;
-+	new_disk->disk_specific = NULL;
-+	return new_disk;
-+}
++enum fdasd_failure {
++	unable_to_open_disk,
++	unable_to_seek_disk,
++	unable_to_read_disk,
++	read_only_disk,
++        unable_to_ioctl,
++	api_version_mismatch,
++	wrong_disk_type,
++	wrong_disk_format,
++	disk_in_use,
++	config_syntax_error,
++	vlabel_corrupted,
++	dsname_corrupted,
++	malloc_failed,
++	device_verification_failed
++};
 +
-+static void
-+dasd_free (PedDisk* disk)
-+{
-+	PED_ASSERT (disk != NULL, return);
++void fdasd_cleanup (fdasd_anchor_t *anchor);
++void fdasd_initialize_anchor (fdasd_anchor_t * anc);
++void fdasd_get_geometry (fdasd_anchor_t *anc, int fd);
++void fdasd_check_api_version (fdasd_anchor_t *anc, int fd);
++int fdasd_check_volume (fdasd_anchor_t *anc, int fd);
++int fdasd_write_labels (fdasd_anchor_t *anc, int fd);
++int fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc);
++void fdasd_recreate_vtoc(fdasd_anchor_t *anc);
++partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc, unsigned int start, unsigned int stop);
++int fdasd_prepare_labels (fdasd_anchor_t *anc, int fd) ;
 +
-+	_ped_disk_free (disk);
-+}
++#endif /* FDASD_H */
+diff -urN parted-1.7.0.orig/include/parted/linux.h parted-1.7.0/include/parted/linux.h
+--- parted-1.7.0.orig/include/parted/linux.h	2006-05-15 05:19:17.000000000 -0400
++++ parted-1.7.0/include/parted/linux.h	2006-05-19 14:37:55.000000000 -0400
+@@ -29,6 +29,11 @@
+ 
+ struct _LinuxSpecific {
+ 	int	fd;
++#if defined(__s390__) || defined(__s390x__)
++	unsigned int real_sector_size;
++	/* IBM internal dasd structure (i guess ;), required. */
++	struct fdasd_anchor *anchor;
++#endif
+ };
+ 
+ extern PedArchitecture ped_linux_arch;
+diff -urN parted-1.7.0.orig/include/parted/vtoc.h parted-1.7.0/include/parted/vtoc.h
+--- parted-1.7.0.orig/include/parted/vtoc.h	1969-12-31 19:00:00.000000000 -0500
++++ parted-1.7.0/include/parted/vtoc.h	2006-05-19 14:37:55.000000000 -0400
+@@ -0,0 +1,371 @@
++/*
++ * File...........: s390-tools/dasdview/vtoc.h
++ * Author(s)......: Horst Hummel <horst.hummel at de.ibm.com>
++ * Bugreports.to..: <Linux390 at de.ibm.com>
++ *
++ * This is a user-space copy of the kernel vtoc,h. 
++ * 
++ * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2002
++ *
++ * History of changes (starts March 2002)
++ * 2002-03-12 initial
++ */
 +
++#ifndef VTOC_H
++#define VTOC_H
 +
-+void
-+ped_disk_dasd_init ()
-+{
-+	ped_register_disk_type (&dasd_disk_type);
-+}
++#include <string.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <errno.h>
++#include <ctype.h>
++#include <time.h>
++#include <fcntl.h>
++#include <unistd.h>
 +
-+void
-+ped_disk_dasd_done ()
-+{
-+	ped_unregister_disk_type (&dasd_disk_type);
-+}
++#include <sys/stat.h>
++#include <sys/ioctl.h>
 +
-+static int
-+dasd_probe (PedDevice *dev)
-+{
-+        char *errstr = 0;
-+	LinuxSpecific* arch_specific;
-+        struct fdasd_anchor anchor;
++#define LINE_LENGTH 80
++#define VTOC_START_CC 0x0
++#define VTOC_START_HH 0x1
++#define FIRST_USABLE_CYL 1
++#define FIRST_USABLE_TRK 2
 +
-+	PED_ASSERT (dev != NULL, return 0);
-+	PED_ASSERT ((dev->type == PED_DEVICE_DASD || dev->type == PED_DEVICE_VIODASD), return 0);
++#define DASD_3380_TYPE 13148
++#define DASD_3390_TYPE 13200
++#define DASD_9345_TYPE 37701
 +
-+        arch_specific = LINUX_SPECIFIC (dev);
++#define DASD_3380_VALUE 0xbb60
++#define DASD_3390_VALUE 0xe5a2
++#define DASD_9345_VALUE 0xbc98
 +
-+        /* add partition test here */
-+        fdasd_initialize_anchor(&anchor);
++#define VOLSER_LENGTH 6
++#define BIG_DISK_SIZE 0x10000
 +
-+        fdasd_get_geometry(&anchor, arch_specific->fd);
++#define VTOC_ERROR "VTOC error:"
 +
-+        fdasd_check_api_version(&anchor, arch_specific->fd);
 +
-+        if (fdasd_check_volume(&anchor, arch_specific->fd))
-+                goto error_cleanup;
++typedef struct ttr 
++{
++        u_int16_t tt;
++        u_int8_t  r;
++} __attribute__ ((packed)) ttr_t;
 +
-+        fdasd_cleanup(&anchor);
++typedef struct cchhb 
++{
++        u_int16_t cc;
++        u_int16_t hh;
++        u_int8_t b;
++} __attribute__ ((packed)) cchhb_t;
 +
-+	return 1;
-+error_cleanup:
-+        fdasd_cleanup(&anchor);
-+error:
-+        ped_exception_throw ( PED_EXCEPTION_ERROR,
-+                              PED_EXCEPTION_IGNORE_CANCEL,
-+                              errstr );
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/parted-dasd.patch?r1=1.3&r2=1.4&f=u



More information about the pld-cvs-commit mailing list