X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Fext3-uninit-2.6.18.patch;h=ef8cab695a005bf700d2b2f965ef58b57596e424;hb=c7b5d883aa0b825ebdb3c73fa50c09b095512b94;hp=70e5d08887e0765335bbbd27185b50d4eb89ec85;hpb=7bbcc3c550981f64ba5f3a9582449a3de5cb6b6c;p=fs%2Flustre-release.git diff --git a/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch b/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch index 70e5d08..ef8cab6 100644 --- a/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch +++ b/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch @@ -88,9 +88,9 @@ Index: linux-2.6.18-53.1.14/fs/ext3/resize.c -} - -/* - * Set up the block and inode bitmaps, and the inode table for the new group. - * This doesn't need to be part of the main transaction, since we are only - * changing blocks outside the actual filesystem. We still do journaling to + * If we have fewer than thresh credits, extend by EXT3_MAX_TRANS_DATA. + * If that fails, restart the transaction & regain write access for the + * buffer head which is used for block_bitmap modifications. @@ -834,6 +816,7 @@ int ext3_group_add(struct super_block *s gdp->bg_inode_table = cpu_to_le32(input->inode_table); gdp->bg_free_blocks_count = cpu_to_le16(input->free_blocks_count); @@ -225,7 +225,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/group.h +/* + * linux/fs/ext3/group.h + * -+ * Copyright (C) 2007 Cluster File Systems, Inc ++ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * + * Author: Andreas Dilger + */ @@ -535,9 +535,9 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c &meta_group_info[j]->bb_state); @@ -2943,9 +2955,17 @@ int ext3_mb_mark_diskspace_used(struct e + mb_set_bits(NULL, bitmap_bh->b_data, ac->ac_b_ex.fe_start, ac->ac_b_ex.fe_len); - spin_lock(sb_bgl_lock(sbi, ac->ac_b_ex.fe_group)); + if (gdp->bg_flags & cpu_to_le16(EXT3_BG_BLOCK_UNINIT)) { + gdp->bg_flags &= cpu_to_le16(~EXT3_BG_BLOCK_UNINIT); + gdp->bg_free_blocks_count =