Index: linux-2.6.27.21-0.1/fs/ext4/ioctl.c
===================================================================
---- linux-2.6.27.21-0.1.orig/fs/ext4/ioctl.c
-+++ linux-2.6.27.21-0.1/fs/ext4/ioctl.c
+--- linux-2.6.27.21-0.1.orig/fs/ext4/ioctl.c 2009-07-07 14:08:22.000000000 +0530
++++ linux-2.6.27.21-0.1/fs/ext4/ioctl.c 2009-07-07 14:38:12.000000000 +0530
@@ -18,6 +18,162 @@
#include "ext4_jbd2.h"
#include "ext4.h"
long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct inode *inode = filp->f_dentry->d_inode;
-@@ -263,6 +419,10 @@ setversion_out:
+@@ -263,6 +419,10 @@
return err;
}
}
Index: linux-2.6.27.21-0.1/fs/ext4/ext4.h
===================================================================
---- linux-2.6.27.21-0.1.orig/fs/ext4/ext4.h
-+++ linux-2.6.27.21-0.1/fs/ext4/ext4.h
-@@ -302,7 +302,8 @@ struct ext4_new_group_data {
+--- linux-2.6.27.21-0.1.orig/fs/ext4/ext4.h 2009-07-07 14:36:58.000000000 +0530
++++ linux-2.6.27.21-0.1/fs/ext4/ext4.h 2009-07-07 14:46:12.000000000 +0530
+@@ -302,7 +302,8 @@
#define EXT4_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
#define EXT4_IOC_GROUP_ADD _IOW('f', 8, struct ext4_new_group_input)
#define EXT4_IOC_MIGRATE _IO('f', 9)
/*
* ioctl commands in 32 bit emulation
-@@ -320,6 +321,8 @@ struct ext4_new_group_data {
+@@ -320,6 +321,8 @@
#define EXT4_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
#define EXT4_IOC32_SETVERSION_OLD FS_IOC32_SETVERSION
/*
* Mount options
-@@ -1132,6 +1135,9 @@ extern int ext4_page_mkwrite(struct vm_a
+@@ -1138,6 +1141,9 @@
/* ioctl.c */
extern long ext4_ioctl(struct file *, unsigned int, unsigned long);
extern long ext4_compat_ioctl(struct file *, unsigned int, unsigned long);
extern int ext4_ext_migrate(struct inode *);
Index: linux-2.6.27.21-0.1/fs/ext4/ext4_extents.h
===================================================================
---- linux-2.6.27.21-0.1.orig/fs/ext4/ext4_extents.h
-+++ linux-2.6.27.21-0.1/fs/ext4/ext4_extents.h
-@@ -128,6 +128,22 @@ struct ext4_ext_path {
+--- linux-2.6.27.21-0.1.orig/fs/ext4/ext4_extents.h 2009-07-07 14:08:22.000000000 +0530
++++ linux-2.6.27.21-0.1/fs/ext4/ext4_extents.h 2009-07-07 14:46:11.000000000 +0530
+@@ -128,6 +128,22 @@
#define EXT_MAX_BLOCK 0xffffffff
/*
* EXT_INIT_MAX_LEN is the maximum number of blocks we can have in an
* initialized extent. This is 2^15 and not (2^16 - 1), since we use the
* MSB of ee_len field in the extent datastructure to signify if this
-@@ -219,6 +235,8 @@ extern int ext4_ext_try_to_merge(struct
+@@ -219,6 +235,8 @@
struct ext4_extent *);
extern unsigned int ext4_ext_check_overlap(struct inode *, struct ext4_extent *, struct ext4_ext_path *);
extern int ext4_ext_insert_extent(handle_t *, struct inode *, struct ext4_ext_path *, struct ext4_extent *);
extern int ext4_ext_search_left(struct inode *, struct ext4_ext_path *,
Index: linux-2.6.27.21-0.1/fs/ext4/extents.c
===================================================================
---- linux-2.6.27.21-0.1.orig/fs/ext4/extents.c
-+++ linux-2.6.27.21-0.1/fs/ext4/extents.c
+--- linux-2.6.27.21-0.1.orig/fs/ext4/extents.c 2009-07-07 14:08:22.000000000 +0530
++++ linux-2.6.27.21-0.1/fs/ext4/extents.c 2009-07-07 14:46:59.000000000 +0530
@@ -42,7 +42,7 @@
#include <asm/uaccess.h>
#include "ext4_jbd2.h"
/*
* ext_pblock:
-@@ -1622,6 +1622,113 @@ cleanup:
+@@ -1622,6 +1622,114 @@
return err;
}
+
+ return err;
+}
++EXPORT_SYMBOL(ext4_ext_walk_space);
+
static void
ext4_ext_put_in_cache(struct inode *inode, ext4_lblk_t block,
__u32 len, ext4_fsblk_t start, int type)
-@@ -2966,3 +3073,100 @@ retry:
+@@ -2966,3 +3074,100 @@
mutex_unlock(&inode->i_mutex);
return ret > 0 ? ret2 : ret;
}
+}
Index: linux-2.6.27.21-0.1/fs/ext4/fiemap.h
===================================================================
---- /dev/null
-+++ linux-2.6.27.21-0.1/fs/ext4/fiemap.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27.21-0.1/fs/ext4/fiemap.h 2009-07-07 14:38:12.000000000 +0530
@@ -0,0 +1,85 @@
+/*
+ * FIEMAP ioctl infrastructure.