===================================================================
--- linux-2.6.16.46-0.14.orig/include/linux/ext3_extents.h
+++ linux-2.6.16.46-0.14/include/linux/ext3_extents.h
-@@ -170,7 +170,8 @@ struct ext3_extents_helpers {
+@@ -170,7 +170,9 @@ struct ext3_extents_helpers {
*/
typedef int (*ext_prepare_callback)(struct ext3_extents_tree *,
struct ext3_ext_path *,
- struct ext3_ext_cache *);
+ struct ext3_ext_cache *,
+ struct ext3_extent *);
++#define HAVE_EXT_PREPARE_CB_EXTENT
#define EXT_CONTINUE 0
#define EXT_BREAK 1
+ */
+ down(&EXT3_I(inode)->truncate_sem);
+ err = ext3_ext_walk_space(&tree, start_blk , EXT_MAX_BLOCK - start_blk,
-+ (void *)ext3_ext_fiemap_cb);
++ ext3_ext_fiemap_cb);
+ up(&EXT3_I(inode)->truncate_sem);
+ if (err)
+ return err;
===================================================================
--- linux-2.6.18.orig/include/linux/ext3_extents.h
+++ linux-2.6.18/include/linux/ext3_extents.h
-@@ -142,8 +142,8 @@ struct ext3_ext_path {
+@@ -142,8 +142,9 @@ struct ext3_ext_path {
* callback must return valid extent (passed or newly created)
*/
typedef int (*ext_prepare_callback)(struct inode *, struct ext3_ext_path *,
- void *);
+ struct ext3_ext_cache *,
+ struct ext3_extent *, void *);
++#define HAVE_EXT_PREPARE_CB_EXTENT
#define EXT_CONTINUE 0
#define EXT_BREAK 1
+ */
+ mutex_lock(&EXT3_I(inode)->truncate_mutex);
+ err = ext3_ext_walk_space(inode, start_blk , EXT_MAX_BLOCK - start_blk,
-+ (void *)ext3_ext_fiemap_cb, &fiemap_i);
++ ext3_ext_fiemap_cb, &fiemap_i);
+ mutex_unlock(&EXT3_I(inode)->truncate_mutex);
+ if (err)
+ return err;