+diff -urN util-linux-2.12q.org/disk-utils/blockdev.c util-linux-2.12q/disk-utils/blockdev.c
+--- util-linux-2.12q.org/disk-utils/blockdev.c 2004-08-18 19:52:20.000000000 +0200
++++ util-linux-2.12q/disk-utils/blockdev.c 2005-02-27 19:35:19.000000000 +0100
+@@ -9,9 +9,14 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
++#include <linux/version.h>
+
+ #include "nls.h"
+
++#ifdef LIBC_HEADERS_VERSION
++/* Fixed headers detected */
++#include <linux/fs.h>
++#else
+ /* Since it is impossible to include <linux/fs.h>, let us
+ give the ioctls explicitly. */
+
+@@ -28,6 +33,7 @@
+ #define BLKBSZSET _IOW(0x12,113,size_t)
+ #define BLKGETSIZE64 _IOR(0x12,114,size_t)
+ #endif
++#endif
+
+ /* Maybe <linux/hdreg.h> could be included */
+ #ifndef HDIO_GETGEO
+diff -urN util-linux-2.12q.org/disk-utils/elvtune.c util-linux-2.12q/disk-utils/elvtune.c
+--- util-linux-2.12q.org/disk-utils/elvtune.c 2004-09-19 15:57:09.000000000 +0200
++++ util-linux-2.12q/disk-utils/elvtune.c 2005-02-27 19:34:27.000000000 +0100
+@@ -29,6 +29,7 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/utsname.h>
++#include <linux/version.h>
+ #include "nls.h"
+
+ /* this has to match with the kernel structure */
+@@ -40,9 +41,14 @@