|
gentoo's util-linux-2.12-linux-headers-2.6.0-fix.patch, with
|
|
my_dev_t defined as __u32 not int (__kernel_dev_t is __u32)
|
|
|
|
--- ./disk-utils/blockdev.c.orig 2002-03-09 00:57:02.000000000 +0200
|
|
+++ ./disk-utils/blockdev.c 2004-04-14 20:02:17.000000000 +0300
|
|
@@ -9,6 +9,7 @@
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
#include <sys/ioctl.h>
|
|
+#include <linux/version.h>
|
|
|
|
#include "nls.h"
|
|
|
|
@@ -24,8 +25,13 @@
|
|
#define BLKRASET _IO(0x12,98)
|
|
#define BLKRAGET _IO(0x12,99)
|
|
#define BLKSSZGET _IO(0x12,104)
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
|
|
#define BLKBSZGET _IOR(0x12,112,sizeof(int))
|
|
#define BLKBSZSET _IOW(0x12,113,sizeof(int))
|
|
+#else
|
|
+#define BLKBSZGET _IOR(0x12,112,int)
|
|
+#define BLKBSZSET _IOW(0x12,113,int)
|
|
+#endif
|
|
#endif
|
|
|
|
/* Maybe <linux/hdreg.h> could be included */
|
|
--- ./disk-utils/elvtune.c.orig 2002-03-09 00:57:49.000000000 +0200
|
|
+++ ./disk-utils/elvtune.c 2004-04-14 20:02:17.000000000 +0300
|
|
@@ -26,6 +26,8 @@
|
|
#include <sys/ioctl.h>
|
|
#include <unistd.h>
|
|
#include <stdlib.h>
|
|
+#include <linux/version.h>
|
|
+
|
|
#include "nls.h"
|
|
|
|
/* this has to match with the kernel structure */
|
|
@@ -37,8 +39,13 @@
|
|
int max_bomb_segments;
|
|
} blkelv_ioctl_arg_t;
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
|
|
#define BLKELVGET _IOR(0x12,106,sizeof(blkelv_ioctl_arg_t))
|
|
#define BLKELVSET _IOW(0x12,107,sizeof(blkelv_ioctl_arg_t))
|
|
+#else
|
|
+#define BLKELVGET _IOR(0x12,106,blkelv_ioctl_arg_t)
|
|
+#define BLKELVSET _IOW(0x12,107,blkelv_ioctl_arg_t)
|
|
+#endif
|
|
|
|
static void
|
|
usage(void) {
|
|
--- ./fdisk/common.h.orig 2003-07-13 16:59:53.000000000 +0300
|
|
+++ ./fdisk/common.h 2004-04-14 20:02:17.000000000 +0300
|
|
@@ -2,11 +2,18 @@
|
|
|
|
/* including <linux/fs.h> fails */
|
|
#include <sys/ioctl.h>
|
|
+#include <linux/version.h>
|
|
+
|
|
#define BLKRRPART _IO(0x12,95) /* re-read partition table */
|
|
#define BLKGETSIZE _IO(0x12,96) /* return device size */
|
|
#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
|
|
#define BLKSSZGET _IO(0x12,104) /* get block device sector size */
|
|
+
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
|
|
#define BLKGETSIZE64 _IOR(0x12,114,8) /* 8 = sizeof(u64) */
|
|
+#else
|
|
+#define BLKGETSIZE64 _IOR(0x12,114,unsigned long long)
|
|
+#endif
|
|
|
|
/* including <linux/hdreg.h> also fails */
|
|
struct hd_geometry {
|
|
--- ./mount/my_dev_t.h.orig 2003-07-16 23:05:50.000000000 +0300
|
|
+++ ./mount/my_dev_t.h 2004-04-14 20:05:59.000000000 +0300
|
|
@@ -4,4 +4,11 @@
|
|
/* for ancient systems use "unsigned short" */
|
|
|
|
#include <linux/posix_types.h>
|
|
+#include <linux/version.h>
|
|
+
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
|
|
#define my_dev_t __kernel_dev_t
|
|
+#else
|
|
+#include <asm/types.h>
|
|
+#define my_dev_t __u32
|
|
+#endif
|