We've cached EXT2_SB(sb) in local variable `sbi'. Use it. fs/ext2/ialloc.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff -puN fs/ext2/ialloc.c~ext2_new_inode-cleanup fs/ext2/ialloc.c --- 25/fs/ext2/ialloc.c~ext2_new_inode-cleanup 2004-01-03 00:50:24.000000000 -0800 +++ 25-akpm/fs/ext2/ialloc.c 2004-01-03 00:52:16.000000000 -0800 @@ -507,7 +507,7 @@ repeat_in_this_group: group = 0; continue; } - if (ext2_set_bit_atomic(sb_bgl_lock(EXT2_SB(sb), group), + if (ext2_set_bit_atomic(sb_bgl_lock(sbi, group), ino, bitmap_bh->b_data)) { /* we lost this inode */ if (++ino >= EXT2_INODES_PER_GROUP(sb)) { @@ -543,23 +543,23 @@ got: goto fail; } - percpu_counter_mod(&EXT2_SB(sb)->s_freeinodes_counter, -1); + percpu_counter_mod(&sbi->s_freeinodes_counter, -1); if (S_ISDIR(mode)) - percpu_counter_inc(&EXT2_SB(sb)->s_dirs_counter); + percpu_counter_inc(&sbi->s_dirs_counter); - spin_lock(sb_bgl_lock(EXT2_SB(sb), group)); + spin_lock(sb_bgl_lock(sbi, group)); gdp->bg_free_inodes_count = cpu_to_le16(le16_to_cpu(gdp->bg_free_inodes_count) - 1); if (S_ISDIR(mode)) { - if (EXT2_SB(sb)->s_debts[group] < 255) - EXT2_SB(sb)->s_debts[group]++; + if (sbi->s_debts[group] < 255) + sbi->s_debts[group]++; gdp->bg_used_dirs_count = cpu_to_le16(le16_to_cpu(gdp->bg_used_dirs_count) + 1); } else { - if (EXT2_SB(sb)->s_debts[group]) - EXT2_SB(sb)->s_debts[group]--; + if (sbi->s_debts[group]) + sbi->s_debts[group]--; } - spin_unlock(sb_bgl_lock(EXT2_SB(sb), group)); + spin_unlock(sb_bgl_lock(sbi, group)); sb->s_dirt = 1; mark_buffer_dirty(bh2); @@ -599,7 +599,7 @@ got: ei->i_dir_start_lookup = 0; ei->i_state = EXT2_STATE_NEW; ext2_set_inode_flags(inode); - inode->i_generation = EXT2_SB(sb)->s_next_generation++; + inode->i_generation = sbi->s_next_generation++; insert_inode_hash(inode); if (DQUOT_ALLOC_INODE(inode)) { _