diff --git a/package/base/e2fsprogs/26-linux-compile-h-usage.patch b/package/base/e2fsprogs/26-linux-compile-h-usage.patch
new file mode 100644
index 000000000..e28a0a2c2
--- /dev/null
+++ b/package/base/e2fsprogs/26-linux-compile-h-usage.patch
@@ -0,0 +1,50 @@
+--- ./misc/filefrag.c.orig	2004-06-26 13:03:48.820773848 +0200
++++ ./misc/filefrag.c	2004-06-26 13:04:05.359259616 +0200
+@@ -37,6 +37,7 @@
+ #include <sys/stat.h>
+ #include <sys/vfs.h>
+ #include <sys/ioctl.h>
++#include <linux/compiler.h>
+ #include <linux/fd.h>
+ 
+ int verbose = 0;
+--- ./lib/ext2fs/getsectsize.c.orig	2004-06-26 13:00:49.114093416 +0200
++++ ./lib/ext2fs/getsectsize.c	2004-06-26 13:01:01.369230352 +0200
+@@ -23,6 +23,7 @@
+ #include <fcntl.h>
+ #ifdef HAVE_LINUX_FD_H
+ #include <sys/ioctl.h>
++#include <linux/compiler.h>
+ #include <linux/fd.h>
+ #endif
+ 
+--- ./lib/ext2fs/getsize.c.orig	2004-06-26 13:00:11.821762712 +0200
++++ ./lib/ext2fs/getsize.c	2004-06-26 13:00:37.192905712 +0200
+@@ -25,6 +25,7 @@
+ #include <fcntl.h>
+ #ifdef HAVE_LINUX_FD_H
+ #include <sys/ioctl.h>
++#include <linux/compiler.h>
+ #include <linux/fd.h>
+ #endif
+ #ifdef HAVE_SYS_DISKLABEL_H
+--- ./lib/ext2fs/ismounted.c.orig	2004-06-26 13:01:16.740893504 +0200
++++ ./lib/ext2fs/ismounted.c	2004-06-26 13:01:28.160157512 +0200
+@@ -18,6 +18,7 @@
+ #endif
+ #include <fcntl.h>
+ #ifdef HAVE_LINUX_FD_H
++#include <linux/compiler.h>
+ #include <linux/fd.h>
+ #endif
+ #ifdef HAVE_MNTENT_H
+--- ./lib/blkid/getsize.c.orig	2004-06-26 13:02:54.825982304 +0200
++++ ./lib/blkid/getsize.c	2004-06-26 13:03:06.989133224 +0200
+@@ -22,6 +22,7 @@
+ #include <fcntl.h>
+ #ifdef HAVE_LINUX_FD_H
+ #include <sys/ioctl.h>
++#include <linux/compiler.h>
+ #include <linux/fd.h>
+ #endif /* HAVE_LINUX_FD_H */
+ #ifdef HAVE_SYS_DISKLABEL_H
diff --git a/package/base/e2fsprogs/e2fsprogs.desc b/package/base/e2fsprogs/e2fsprogs.desc
index 1855d5a60..54cf3eb59 100644
--- a/package/base/e2fsprogs/e2fsprogs.desc
+++ b/package/base/e2fsprogs/e2fsprogs.desc
@@ -36,8 +36,8 @@
 
 [L] GPL LGPL
 [S] Stable
-[V] 1.34
+[V] 1.35
 [P] X -1-3-----9 180.200
 
-[D] 2173527069 e2fsprogs-1.34.tar.gz http://download.sourceforge.net/e2fsprogs/
+[D] 3249790506 e2fsprogs-1.35.tar.gz http://download.sourceforge.net/e2fsprogs/
 
diff --git a/package/base/e2fsprogs/scsi-disk-major-26headers.patch b/package/base/e2fsprogs/scsi-disk-major-26headers.patch
deleted file mode 100644
index 7b04604d4..000000000
--- a/package/base/e2fsprogs/scsi-disk-major-26headers.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- e2fsprogs-old/misc/util.c	Sat May  3 15:46:47 2003
-+++ e2fsprogs-1.34/misc/util.c	Tue Sep 30 06:56:11 2003
-@@ -108,13 +108,8 @@
- #define MAJOR(dev)	((dev)>>8)
- #define MINOR(dev)	((dev) & 0xff)
- #endif
--#ifndef SCSI_BLK_MAJOR
--#define SCSI_BLK_MAJOR(M)  ((M) == SCSI_DISK_MAJOR || (M) == SCSI_CDROM_MAJOR)
--#endif
--	if (((MAJOR(s.st_rdev) == HD_MAJOR &&
--	      MINOR(s.st_rdev)%64 == 0) ||
--	     (SCSI_BLK_MAJOR(MAJOR(s.st_rdev)) &&
--	      MINOR(s.st_rdev)%16 == 0))) {
-+	if (MAJOR(s.st_rdev) == HD_MAJOR &&
-+	    MINOR(s.st_rdev)%64 == 0) {
- 		printf(_("%s is entire device, not just one partition!\n"),
- 		       device);
- 		proceed_question();