X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Fext3-extents-2.6.22-vanilla.patch;fp=ldiskfs%2Fkernel_patches%2Fpatches%2Fext3-extents-2.6.22-vanilla.patch;h=f0358a6498dcdce065017c7afcba3e23a3b09752;hb=48961c4d439f5f72e4604384ec5dac3f958fbc2c;hp=2a0fcade1dad7bb583a06af1eb5b6816100e149c;hpb=7dcc4e59c633fee00de410ffb3839c915f02c783;p=fs%2Flustre-release.git diff --git a/ldiskfs/kernel_patches/patches/ext3-extents-2.6.22-vanilla.patch b/ldiskfs/kernel_patches/patches/ext3-extents-2.6.22-vanilla.patch index 2a0fcad..f0358a6 100644 --- a/ldiskfs/kernel_patches/patches/ext3-extents-2.6.22-vanilla.patch +++ b/ldiskfs/kernel_patches/patches/ext3-extents-2.6.22-vanilla.patch @@ -1162,7 +1162,7 @@ Index: linux-2.6.18.8/fs/ext3/extents.c +} + +/* -+ * returns first allocated block from next leaf or EXT_MAX_BLOCK ++ * returns first allocated block from next leaf or EXT_UNSET_BLOCK + */ +static unsigned ext3_ext_next_leaf_block(struct inode *inode, + struct ext3_ext_path *path) @@ -1174,7 +1174,7 @@ Index: linux-2.6.18.8/fs/ext3/extents.c + + /* zero-tree has no leaf blocks at all */ + if (depth == 0) -+ return EXT_MAX_BLOCK; ++ return EXT_UNSET_BLOCK; + + /* go to index block */ + depth--; @@ -1186,7 +1186,7 @@ Index: linux-2.6.18.8/fs/ext3/extents.c + depth--; + } + -+ return EXT_MAX_BLOCK; ++ return EXT_UNSET_BLOCK; +} + +/* @@ -1309,7 +1309,7 @@ Index: linux-2.6.18.8/fs/ext3/extents.c + fex = EXT_LAST_EXTENT(eh); + next = ext3_ext_next_leaf_block(inode, path); + if (le32_to_cpu(newext->ee_block) > le32_to_cpu(fex->ee_block) -+ && next != EXT_MAX_BLOCK) { ++ && next != EXT_UNSET_BLOCK) { + ext_debug(inode, "next leaf block - %d\n", next); + BUG_ON(npath != NULL); + npath = ext3_ext_find_extent(inode, next, NULL); @@ -1773,8 +1773,8 @@ Index: linux-2.6.18.8/fs/ext3/extents.c + path[depth].p_ext = ex; + + a = ex_ee_block > start ? ex_ee_block : start; -+ b = ex_ee_block + ex_ee_len - 1 < EXT_MAX_BLOCK ? -+ ex_ee_block + ex_ee_len - 1 : EXT_MAX_BLOCK; ++ b = (unsigned long long)ex_ee_block + ex_ee_len - 1 < ++ EXT_MAX_BLOCK ? ex_ee_block + ex_ee_len - 1 : EXT_MAX_BLOCK; + + ext_debug(inode, " border %u:%u\n", a, b); + @@ -2489,7 +2489,7 @@ Index: linux-2.6.18.8/include/linux/ext3_extents.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.18.8/include/linux/ext3_extents.h 2007-07-17 09:18:14.000000000 +0200 -@@ -0,0 +1,231 @@ +@@ -0,0 +1,232 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. + * Written by Alex Tomas @@ -2643,6 +2643,7 @@ Index: linux-2.6.18.8/include/linux/ext3_extents.h + + +#define EXT_MAX_BLOCK 0xffffffff ++#define EXT_UNSET_BLOCK 1 + +#define EXT_FLAGS_CLR_UNKNOWN 0x7 /* Flags cleared on modification */ +#define EXT_HDR_GEN_BITS 24