===================================================================
--- 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;