1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Fix device number handling for 2.6 kernels.

This commit is contained in:
Alasdair Kergon 2004-07-01 15:14:29 +00:00
parent 8630c7fb37
commit 8bad033938
8 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,6 @@
Version 2.00.20 - Version 2.00.20 -
============================== ==============================
Fix device number handling for 2.6 kernels.
Version 2.00.19 - 29 June 2004 Version 2.00.19 - 29 June 2004
============================== ==============================

View File

@ -1,3 +1,7 @@
Version 1.00.19 -
=============================
Fix device number handling for 2.6 kernels.
Version 1.00.18 - 20 Jun 2004 Version 1.00.18 - 20 Jun 2004
============================= =============================
Fix a uuid free in libdm-iface. Fix a uuid free in libdm-iface.

View File

@ -25,7 +25,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <limits.h> #include <limits.h>
#define NUMBER_OF_MAJORS 256 #define NUMBER_OF_MAJORS 4096
typedef struct { typedef struct {
const char *name; const char *name;
@ -96,6 +96,7 @@ static int *_scan_proc_dev(const char *proc, const struct config_node *cn)
int *max_partitions_by_major; int *max_partitions_by_major;
char *name; char *name;
/* FIXME Make this sparse */
if (!(max_partitions_by_major = if (!(max_partitions_by_major =
dbg_malloc(sizeof(int) * NUMBER_OF_MAJORS))) { dbg_malloc(sizeof(int) * NUMBER_OF_MAJORS))) {
log_error("Filter failed to allocate max_partitions_by_major"); log_error("Filter failed to allocate max_partitions_by_major");

View File

@ -21,7 +21,9 @@
#include <sys/stat.h> #include <sys/stat.h>
#ifdef linux #ifdef linux
# include <linux/kdev_t.h> # 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))
#else #else
# define MAJOR(x) major((x)) # define MAJOR(x) major((x))
# define MINOR(x) minor((x)) # define MINOR(x) minor((x))

View File

@ -16,9 +16,9 @@
#ifndef _LINUX_LIBDM_COMPAT_H #ifndef _LINUX_LIBDM_COMPAT_H
#define _LINUX_LIBDM_COMPAT_H #define _LINUX_LIBDM_COMPAT_H
#include "kdev_t.h"
#include <inttypes.h> #include <inttypes.h>
#include <linux/dm-ioctl.h> #include <linux/dm-ioctl.h>
#include <linux/kdev_t.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
struct dm_task; struct dm_task;

View File

@ -33,8 +33,8 @@
#include <limits.h> #include <limits.h>
#ifdef linux #ifdef linux
# include "kdev_t.h"
# include <linux/limits.h> # include <linux/limits.h>
# include <linux/kdev_t.h>
# include <linux/dm-ioctl.h> # include <linux/dm-ioctl.h>
#else #else
# define MAJOR(x) major((x)) # define MAJOR(x) major((x))

View File

@ -17,6 +17,7 @@
#include "libdm-common.h" #include "libdm-common.h"
#include "list.h" #include "list.h"
#include "log.h" #include "log.h"
#include "kdev_t.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -27,7 +28,6 @@
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
#include <linux/dm-ioctl.h> #include <linux/dm-ioctl.h>
#include <linux/kdev_t.h>
#ifdef HAVE_SELINUX #ifdef HAVE_SELINUX
# include <selinux/selinux.h> # include <selinux/selinux.h>

View File

@ -38,7 +38,7 @@ extern char *optarg;
#endif #endif
#ifdef linux #ifdef linux
# include <linux/kdev_t.h> # include "kdev_t.h"
#else #else
# define MAJOR(x) major((x)) # define MAJOR(x) major((x))
# define MINOR(x) minor((x)) # define MINOR(x) minor((x))