kpartx: use standard 'major' and 'minor' macros
authorHannes Reinecke <hare@suse.de>
Tue, 29 Jul 2014 09:14:39 +0000 (11:14 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Sun, 29 Mar 2015 16:02:39 +0000 (18:02 +0200)
Instead of hand-coding our own versions we should be using the
standard 'major' and 'minor' macros.

Signed-off-by: Hannes Reinecke <hare@suse.de>
kpartx/devmapper.h
kpartx/kpartx.c

index d962e43..4b867df 100644 (file)
@@ -1,6 +1,5 @@
-#define MAJOR(dev)      ((dev & 0xfff00) >> 8)
-#define MINOR(dev)      ((dev & 0xff) | ((dev >> 12) & 0xfff00))
-#define MKDEV(ma,mi)    ((mi & 0xff) | (ma << 8) | ((mi & ~0xff) << 12))
+#ifndef _KPARTX_DEVMAPPER_H
+#define _KPARTX_DEVMAPPER_H
 
 #ifdef DM_SUBSYSTEM_UDEV_FLAG0
 #define MPATH_UDEV_RELOAD_FLAG DM_SUBSYSTEM_UDEV_FLAG0
@@ -20,3 +19,5 @@ dev_t dm_get_first_dep(char *devname);
 char * dm_mapuuid(int major, int minor);
 int dm_devn (char * mapname, int *major, int *minor);
 int dm_no_partitions(int major, int minor);
+
+#endif /* _KPARTX_DEVMAPPER_H */
index fac98dc..18c1d23 100644 (file)
@@ -168,8 +168,8 @@ get_hotplug_device(void)
        if (stat(devname, &buf))
                return NULL;
 
-       major = (unsigned int)MAJOR(buf.st_rdev);
-       minor = (unsigned int)MINOR(buf.st_rdev);
+       major = major(buf.st_rdev);
+       minor = minor(buf.st_rdev);
 
        if (!(mapname = dm_mapname(major, minor))) /* Not dm device. */
                return NULL;
@@ -327,10 +327,8 @@ main(int argc, char **argv){
        off = find_devname_offset(device);
 
        if (!loopdev) {
-               uuid = dm_mapuuid((unsigned int)MAJOR(buf.st_rdev),
-                                 (unsigned int)MINOR(buf.st_rdev));
-               mapname = dm_mapname((unsigned int)MAJOR(buf.st_rdev),
-                                    (unsigned int)MINOR(buf.st_rdev));
+               uuid = dm_mapuuid(major(buf.st_rdev), minor(buf.st_rdev));
+               mapname = dm_mapname(major(buf.st_rdev), minor(buf.st_rdev));
        }
 
        if (!uuid)
@@ -339,8 +337,7 @@ main(int argc, char **argv){
        if (!mapname)
                mapname = device + off;
        else if (!force_devmap &&
-                dm_no_partitions((unsigned int)MAJOR(buf.st_rdev),
-                                 (unsigned int)MINOR(buf.st_rdev))) {
+                dm_no_partitions(major(buf.st_rdev), minor(buf.st_rdev))) {
                /* Feature 'no_partitions' is set, return */
                return 0;
        }