Upstream-Status: Pending

---
 libparted/arch/linux.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

Index: parted-3.2/libparted/arch/linux.c
===================================================================
--- parted-3.2.orig/libparted/arch/linux.c
+++ parted-3.2/libparted/arch/linux.c
@@ -17,6 +17,8 @@
 
 #define PROC_DEVICES_BUFSIZ 16384
 
+#include <linux/version.h>
+
 #include <config.h>
 #include <arch/linux.h>
 #include <linux/blkpg.h>
@@ -1696,12 +1698,14 @@ linux_refresh_close (PedDevice* dev)
 
 #if SIZEOF_OFF_T < 8
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
 static _syscall5(int,_llseek,
                  unsigned int, fd,
                  unsigned long, offset_high,
                  unsigned long, offset_low,
                  loff_t*, result,
                  unsigned int, origin)
+#endif
 
 loff_t
 llseek (unsigned int fd, loff_t offset, unsigned int whence)
@@ -1709,11 +1713,20 @@ llseek (unsigned int fd, loff_t offset,
         loff_t result;
         int retval;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
         retval = _llseek(fd,
                          ((unsigned long long)offset) >> 32,
                          ((unsigned long long)offset) & 0xffffffff,
                          &result,
                          whence);
+#else
+ 	retval = syscall(__NR__llseek, fd,
+			 ((unsigned long long)offset) >> 32,
+                         ((unsigned long long)offset) & 0xffffffff,
+                          &result,
+			 whence);
+#endif
+
         return (retval==-1 ? (loff_t) retval : result);
 }
 
