1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
diff -ruN util-linux-2.12.orig/disk-utils/blockdev.c util-linux-2.12/disk-utils/blockdev.c
--- util-linux-2.12.orig/disk-utils/blockdev.c 2002-03-08 23:57:02.000000000 +0100
+++ util-linux-2.12/disk-utils/blockdev.c 2003-10-16 18:26:53.048373136 +0200
@@ -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 */
diff -ruN util-linux-2.12.orig/disk-utils/elvtune.c util-linux-2.12/disk-utils/elvtune.c
--- util-linux-2.12.orig/disk-utils/elvtune.c 2002-03-08 23:57:49.000000000 +0100
+++ util-linux-2.12/disk-utils/elvtune.c 2003-10-16 18:26:53.048373136 +0200
@@ -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) {
diff -ruN util-linux-2.12.orig/fdisk/common.h util-linux-2.12/fdisk/common.h
--- util-linux-2.12.orig/fdisk/common.h 2003-07-13 15:59:53.000000000 +0200
+++ util-linux-2.12/fdisk/common.h 2003-10-16 18:29:11.365345760 +0200
@@ -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 {
diff -ruN util-linux-2.12.orig/mount/my_dev_t.h util-linux-2.12/mount/my_dev_t.h
--- util-linux-2.12.orig/mount/my_dev_t.h 2003-07-16 22:05:50.000000000 +0200
+++ util-linux-2.12/mount/my_dev_t.h 2003-10-16 18:26:53.049372984 +0200
@@ -4,4 +4,10 @@
/* 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
+#define my_dev_t int
+#endif
|