Commit 3a9c6a3d authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

util: use glibc macros to generate device numbers in the dev_t format

Our version of macroses are worng.

Our macros:
#define MINOR(dev)           ((dev) & 0xff)

Glibc function:
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
Reported-by: 's avatarAmey Deshpande <ameyd@google.com>
Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 74a2cce1
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#define SIGMAX 64 #define SIGMAX 64
#define SIGMAX_OLD 31 #define SIGMAX_OLD 31
#define MAJOR(dev) ((dev)>>8)
#define MINOR(dev) ((dev) & 0xff)
typedef void rt_signalfn_t(int, siginfo_t *, void *); typedef void rt_signalfn_t(int, siginfo_t *, void *);
typedef rt_signalfn_t *rt_sighandler_t; typedef rt_signalfn_t *rt_sighandler_t;
......
...@@ -211,11 +211,8 @@ static inline dev_t kdev_to_odev(u32 kdev) ...@@ -211,11 +211,8 @@ static inline dev_t kdev_to_odev(u32 kdev)
*/ */
unsigned major = kdev_major(kdev); unsigned major = kdev_major(kdev);
unsigned minor = kdev_minor(kdev); unsigned minor = kdev_minor(kdev);
#if BITS_PER_LONG == 32
return (major << 8) | minor; return makedev(major, minor);
#else
return (minor & 0xff) | (major << 8) | ((minor & ~0xff) << 12);
#endif
} }
extern int copy_file(int fd_in, int fd_out, size_t bytes); extern int copy_file(int fd_in, int fd_out, size_t bytes);
......
...@@ -158,7 +158,7 @@ dev_t phys_stat_resolve_dev(struct mount_info *tree, ...@@ -158,7 +158,7 @@ dev_t phys_stat_resolve_dev(struct mount_info *tree,
* obtained from mountinfo (ie subvolume0). * obtained from mountinfo (ie subvolume0).
*/ */
return strcmp(m->fstype->name, "btrfs") ? return strcmp(m->fstype->name, "btrfs") ?
MKKDEV(MAJOR(st_dev), MINOR(st_dev)) : m->s_dev; MKKDEV(major(st_dev), minor(st_dev)) : m->s_dev;
} }
bool phys_stat_dev_match(struct mount_info *tree, dev_t st_dev, bool phys_stat_dev_match(struct mount_info *tree, dev_t st_dev,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment