dc51b1a
From 7bf30c52a37118ff4f211e67e1736099f3d1dcb3 Mon Sep 17 00:00:00 2001
dc51b1a
From: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
dc51b1a
Date: Sat, 22 Sep 2018 11:50:50 +0200
dc51b1a
Subject: [PATCH] Own macro's added to determine major/minor of logical volume.
dc51b1a
 The standard 'minor' and 'major' macro's are not available any more in gcc8.
dc51b1a
dc51b1a
---
dc51b1a
 photosyst.c | 7 +++++--
dc51b1a
 1 file changed, 5 insertions(+), 2 deletions(-)
dc51b1a
dc51b1a
diff --git a/photosyst.c b/photosyst.c
dc51b1a
index 19cbbe1..019b9e0 100644
dc51b1a
--- a/photosyst.c
dc51b1a
+++ b/photosyst.c
dc51b1a
@@ -184,6 +184,9 @@ static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof
dc51b1a
 
dc51b1a
 #define	MAXCNT	64
dc51b1a
 
dc51b1a
+#define MAJOR(x)        ((((unsigned long long)x>>8)&0xfff)|((unsigned int)((unsigned long long)x>>32)&~0xfff))
dc51b1a
+#define MINOR(x)        ((x&0xff)|((unsigned int)((unsigned long long)x>>12)&~0xff))
dc51b1a
+
dc51b1a
 /* return value of isdisk() */
dc51b1a
 #define	NONTYPE	0
dc51b1a
 #define	DSKTYPE	1
dc51b1a
@@ -1479,8 +1482,8 @@ lvmmapname(unsigned int major, unsigned int minor,
dc51b1a
 				*/
dc51b1a
 				strncpy(dmp->name, dentry->d_name, MAXDKNAM);
dc51b1a
 				dmp->name[MAXDKNAM-1] = 0;
dc51b1a
-				dmp->major 	= major(statbuf.st_rdev);
dc51b1a
-				dmp->minor 	= minor(statbuf.st_rdev);
dc51b1a
+				dmp->major 	= MAJOR(statbuf.st_rdev);
dc51b1a
+				dmp->minor 	= MINOR(statbuf.st_rdev);
dc51b1a
 
dc51b1a
 				hashix = DMHASH(dmp->major, dmp->minor);
dc51b1a