Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:acdc:as_python3_module
parted
0003-parted-fix-build-error-on-s390.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-parted-fix-build-error-on-s390.patch of Package parted
From: Colin Watson <cjwatson@ubuntu.com> Date: Thu, 29 Oct 2015 21:12:01 +0100 Subject: parted: fix build error on s390 References: fate#320525 / bsc#935127 Patch-mainline: v3.3 Git-commit: 388bab890a4e09b09d2428c0e773ed083295f91b The preceding dasd probing patches have introduced a compile error when building with blkid support. Fixed by reordering function definitions. Signed-off-by: Colin Watson <cjwatson@ubuntu.com> Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Signed-off-by: Brian C. Lane <bcl@redhat.com> Acked-by: Sebastian Parschauer <sparschauer@suse.de> --- libparted/arch/linux.c | 107 ++++++++++++++++++++++++------------------------- 1 file changed, 54 insertions(+), 53 deletions(-) --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c @@ -3263,59 +3263,6 @@ linux_disk_commit (PedDisk* disk) return 1; } -#if defined __s390__ || defined __s390x__ -/** - * Check whether this device could be a DASD - * - * The device probing yields PED_DEVICE_DASD for native DASD transport - * If the block device uses a different transport (e.g. virtio) - * a simplified heuristic (assuming a model 3390 with 4K sectors) - * is applied (only) on s390x systems for this check. - * - * \return 1 if the geometry indicates this could be a DASD - * and 0 otherwise - */ -static int -_ped_device_like_dasd(const PedDevice *dev) -{ - return (dev->type == PED_DEVICE_DASD) - || (dev->hw_geom.heads == 15 - && dev->hw_geom.sectors == 12 - && (dev->hw_geom.cylinders - * dev->hw_geom.heads - * dev->hw_geom.sectors - * dev->phys_sector_size - == dev->length * dev->sector_size)); -} - - - -static PedAlignment* -s390_get_minimum_alignment(const PedDevice *dev) -{ -#if USE_BLKID - return linux_get_minimum_alignment(dev); -#else - return ped_alignment_new(0, - dev->phys_sector_size - / dev->sector_size); -#endif -} - -static PedAlignment* -s390_get_optimum_alignment(const PedDevice *dev) -{ - /* DASD needs to use minimum alignment */ - if (_ped_device_like_dasd(dev)) - return s390_get_minimum_alignment(dev); -#if USE_BLKID - return linux_get_optimum_alignment(dev); -#else - return NULL; -#endif -} -#endif - #if USE_BLKID static PedAlignment* @@ -3411,6 +3358,60 @@ error: } #endif +#if defined __s390__ || defined __s390x__ +/** + * Check whether this device could be a DASD + * + * The device probing yields PED_DEVICE_DASD for native DASD transport + * If the block device uses a different transport (e.g. virtio) + * a simplified heuristic (assuming a model 3390 with 4K sectors) + * is applied (only) on s390x systems for this check. + * + * \return 1 if the geometry indicates this could be a DASD + * and 0 otherwise + */ +static int +_ped_device_like_dasd(const PedDevice *dev) +{ + return (dev->type == PED_DEVICE_DASD) + || (dev->hw_geom.heads == 15 + && dev->hw_geom.sectors == 12 + && (dev->hw_geom.cylinders + * dev->hw_geom.heads + * dev->hw_geom.sectors + * dev->phys_sector_size + == dev->length * dev->sector_size)); +} + + + +static PedAlignment* +s390_get_minimum_alignment(const PedDevice *dev) +{ +#if USE_BLKID + return linux_get_minimum_alignment(dev); +#else + return ped_alignment_new(0, + dev->phys_sector_size + / dev->sector_size); +#endif +} + +static PedAlignment* +s390_get_optimum_alignment(const PedDevice *dev) +{ + /* DASD needs to use minimum alignment */ + if (_ped_device_like_dasd(dev)) + return s390_get_minimum_alignment(dev); +#if USE_BLKID + return linux_get_optimum_alignment(dev); +#else + return NULL; +#endif +} +#endif + + static PedDeviceArchOps linux_dev_ops = { _new: linux_new, destroy: linux_destroy,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor