/*
* ext4_inode has i_block array (60 bytes total).
-@@ -160,6 +166,7 @@ typedef int (*ext_prepare_callback)(stru
- #define EXT_INIT_MAX_LEN (1UL << 15)
- #define EXT_UNINIT_MAX_LEN (EXT_INIT_MAX_LEN - 1)
-
-+#define EXT4_EXT_HAS_NO_TREE /* ext4_extents_tree struct is not used*/
-
- #define EXT_FIRST_EXTENT(__hdr__) \
- ((struct ext4_extent *) (((char *) (__hdr__)) + \
-@@ -231,6 +238,8 @@ extern ext4_fsblk_t ext_pblock(struct ex
+@@ -231,6 +237,8 @@ extern ext4_fsblk_t ext_pblock(struct ex
extern ext4_fsblk_t idx_pblock(struct ext4_extent_idx *);
extern void ext4_ext_store_pblock(struct ext4_extent *, ext4_fsblk_t);
extern int ext4_extent_tree_init(handle_t *, struct inode *);
/*
* ext4_inode has i_block array (60 bytes total).
-@@ -160,6 +166,7 @@ typedef int (*ext_prepare_callback)(stru
- #define EXT_INIT_MAX_LEN (1UL << 15)
- #define EXT_UNINIT_MAX_LEN (EXT_INIT_MAX_LEN - 1)
-
-+#define EXT4_EXT_HAS_NO_TREE /* ext4_extents_tree struct is not used*/
-
- #define EXT_FIRST_EXTENT(__hdr__) \
- ((struct ext4_extent *) (((char *) (__hdr__)) + \
-@@ -239,6 +246,8 @@ extern int ext4_extent_tree_init(handle_
+@@ -239,6 +245,8 @@ extern int ext4_extent_tree_init(handle_
extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
int num,
struct ext4_ext_path *path);
#define EXT_ASSERT(cond) BUG_ON(!(cond))
#endif
-#ifdef EXT3_EXT_HAS_NO_TREE
-/* for kernels 2.6.18 and later */
#define EXT_GENERATION(inode) (EXT4_I(inode)->i_ext_generation)
#define ext3_ext_base inode
#define ext3_ext_base2inode(inode) (inode)
#define EXT_DEPTH(inode) ext_depth(inode)
#define fsfilt_ext3_ext_walk_space(inode, block, num, cb, cbdata) \
ext3_ext_walk_space(inode, block, num, cb, cbdata);
-#else
-#define ext3_ext_base ext3_extents_tree
-#define ext3_ext_base2inode(tree) (tree->inode)
-#define fsfilt_ext3_ext_walk_space(tree, block, num, cb, cbdata) \
- ext3_ext_walk_space(tree, block, num, cb);
-#endif
struct bpointers {
unsigned long *blocks;
}
#endif
-#ifdef EXT3_EXT_HAS_NO_TREE
static int ext3_ext_new_extent_cb(struct ext3_ext_base *base,
struct ext3_ext_path *path,
struct ext3_ext_cache *cex,
void *cbdata)
{
struct bpointers *bp = cbdata;
-#else
-static int ext3_ext_new_extent_cb(struct ext3_ext_base *base,
- struct ext3_ext_path *path,
- struct ext3_ext_cache *cex
-#ifdef HAVE_EXT_PREPARE_CB_EXTENT
- , struct ext3_extent *ex
-#endif
- )
-{
- struct bpointers *bp = base->private;
-#endif
struct inode *inode = ext3_ext_base2inode(base);
struct ext3_extent nex;
unsigned long pblock;
unsigned long num, unsigned long *blocks,
int *created, int create)
{
-#ifdef EXT3_EXT_HAS_NO_TREE
struct ext3_ext_base *base = inode;
-#else
- struct ext3_extents_tree tree;
- struct ext3_ext_base *base = &tree;
-#endif
struct bpointers bp;
int err;
CDEBUG(D_OTHER, "blocks %lu-%lu requested for inode %u\n",
block, block + num - 1, (unsigned) inode->i_ino);
-#ifndef EXT3_EXT_HAS_NO_TREE
- ext3_init_tree_desc(base, inode);
- tree.private = &bp;
-#endif
bp.blocks = blocks;
bp.created = created;
bp.start = block;
static int fsfilt_ext3_get_mblk(struct super_block *sb, int *count,
struct inode *inode, int frags)
{
-#ifdef EXT3_EXT_HAS_NO_TREE
struct ext3_ext_base *base = inode;
-#else
- struct ext3_extents_tree tree;
- struct ext3_ext_base *base = &tree;
-
- ext3_init_tree_desc(base, inode);
-#endif
/* for an ost_write request, it needs <#fragments> * <tree depth + 1>
* metablocks at maxium b=16542 */
*count = frags * (EXT_DEPTH(base) + 1) * EXT3_BLOCK_SIZE(sb);