https://bugs.gentoo.org/580062 From 2a1d0fa8ea765604cd8274aac5aa7876f1c145c9 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 19 Apr 2016 23:53:22 -0400 Subject: [PATCH] convert major/minor/makedev handling Most of the files in here use MAJOR/MINOR/MKDEV macros, but a few missed it. Update the defines in those files to match them. --- daemons/cmirrord/functions.c | 16 ++++++++++++---- daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c | 12 ++++++++++-- lib/filters/filter-sysfs.c | 6 ++++-- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/daemons/cmirrord/functions.c b/daemons/cmirrord/functions.c index e9d3c09..5b3cb38 100644 --- a/daemons/cmirrord/functions.c +++ b/daemons/cmirrord/functions.c @@ -20,6 +20,14 @@ #include #include +#ifdef __linux__ +# include "kdev_t.h" +#else +# define MAJOR(x) major((x)) +# define MINOR(x) minor((x)) +# define MKDEV(x,y) makedev((x),(y)) +#endif + #define BYTE_SHIFT 3 /* @@ -333,8 +341,8 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat continue; } if (S_ISBLK(statbuf.st_mode) && - (major(statbuf.st_rdev) == major) && - (minor(statbuf.st_rdev) == minor)) { + (MAJOR(statbuf.st_rdev) == major) && + (MINOR(statbuf.st_rdev) == minor)) { LOG_DBG(" %s: YES", dep->d_name); if (closedir(dp)) LOG_DBG("Unable to closedir /dev/mapper %s", @@ -1451,7 +1459,7 @@ static int disk_status_info(struct log_c *lc, struct dm_ulog_request *rq) } r = sprintf(data, "3 clustered-disk %d:%d %c", - major(statbuf.st_rdev), minor(statbuf.st_rdev), + MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev), (lc->log_dev_failed) ? 'D' : 'A'); if (r < 0) return r; @@ -1514,7 +1522,7 @@ static int disk_status_table(struct log_c *lc, struct dm_ulog_request *rq) } r = sprintf(data, "clustered-disk %d:%d %u %s%s ", - major(statbuf.st_rdev), minor(statbuf.st_rdev), + MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev), lc->region_size, (lc->sync == DEFAULTSYNC) ? "" : (lc->sync == NOSYNC) ? "nosync " : "sync ", diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c index 7b060ed..4098203 100644 --- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c +++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c @@ -20,6 +20,14 @@ #include #include +#ifdef __linux__ +# include "kdev_t.h" +#else +# define MAJOR(x) major((x)) +# define MINOR(x) minor((x)) +# define MKDEV(x,y) makedev((x),(y)) +#endif + /* First warning when snapshot is 80% full. */ #define WARNING_THRESH (DM_PERCENT_1 * 80) /* Run a check every 5%. */ @@ -148,8 +156,8 @@ static void _umount(const char *device, int major, int minor) continue; /* can't stat, skip this one */ if (S_ISBLK(st.st_mode) && - major(st.st_rdev) == major && - minor(st.st_rdev) == minor) { + MAJOR(st.st_rdev) == major && + MINOR(st.st_rdev) == minor) { log_error("Unmounting invalid snapshot %s from %s.", device, words[1]); if (!_run(UMOUNT_COMMAND, "-fl", words[1], NULL)) log_error("Failed to umount snapshot %s from %s: %s.", diff --git a/lib/filters/filter-sysfs.c b/lib/filters/filter-sysfs.c index 3115f86..5f76e8b 100644 --- a/lib/filters/filter-sysfs.c +++ b/lib/filters/filter-sysfs.c @@ -19,6 +19,8 @@ #include +#include "kdev_t.h" + static int _locate_sysfs_blocks(const char *sysfs_dir, char *path, size_t len, unsigned *sysfs_depth) { @@ -120,7 +122,7 @@ static struct dev_set *_dev_set_create(struct dm_pool *mem, static unsigned _hash_dev(dev_t dev) { - return (major(dev) ^ minor(dev)) & (SET_BUCKETS - 1); + return (MAJOR(dev) ^ MINOR(dev)) & (SET_BUCKETS - 1); } /* @@ -171,7 +173,7 @@ static int _parse_dev(const char *file, FILE *fp, dev_t *result) return 0; } - *result = makedev(major, minor); + *result = MKDEV(major, minor); return 1; } -- 2.7.4