From d4a913c01f86ed080aebd5ce0c262483ad187949 Mon Sep 17 00:00:00 2001 From: yangsheng Date: Thu, 5 Jan 2012 18:30:42 +0800 Subject: [PATCH] LU-781 kernel: kernel update [RHEL6.2 2.6.32-220] Add support for RHEL6.2. The version is 2.6.32-220.el6. Change-Id: Icc03a2f5d8b377aa1b1180ae09056989bbc84a9d Signed-off-by: Yang Sheng Reviewed-on: http://review.whamcloud.com/1892 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Johann Lombardi Reviewed-by: Andreas Dilger --- build/lbuild-rhel6 | 9 ++- .../patches/export-ext4-2.6-rhel6.patch | 50 ++++++++-------- .../patches/ext4-big-endian-check-2.6-rhel6.patch | 7 ++- .../patches/ext4-disable-mb-cache-rhel6.patch | 16 ++--- .../patches/ext4-dynlocks-common-rhel6.patch | 11 +++- .../patches/ext4-extents-mount-option-rhel6.patch | 16 ++--- .../patches/ext4-force_over_128tb-rhel6.patch | 6 +- .../patches/ext4-max-dir-size-rhel6.patch | 12 ++-- .../patches/ext4-mballoc-extra-checks-rhel6.patch | 10 ++-- .../kernel_patches/patches/ext4-misc-rhel6.patch | 31 +++++----- .../kernel_patches/patches/ext4-mmp-rhel6.patch | 4 +- .../patches/ext4-prealloc-rhel6.patch | 9 ++- .../patches/ext4_data_in_dirent-rhel6.patch | 10 ++-- .../kernel_patches/series/ldiskfs-2.6-rhel6.series | 2 +- lustre/ChangeLog | 9 ++- .../kernel-2.6.32-2.6-rhel6-i686.config | 64 +++++++++++++++----- .../kernel-2.6.32-2.6-rhel6-x86_64.config | 68 ++++++++++++++++------ .../patches/dev_read_only-2.6.32-rhel6.patch | 20 +------ .../patches/vfs_races-2.6.32-rhel6.patch | 8 +-- lustre/kernel_patches/series/2.6-rhel6.series | 1 - lustre/kernel_patches/targets/2.6-rhel6.target.in | 2 +- lustre/kernel_patches/which_patch | 4 +- lustre/utils/obd.c | 9 +-- 23 files changed, 215 insertions(+), 163 deletions(-) diff --git a/build/lbuild-rhel6 b/build/lbuild-rhel6 index dcd174a..3e570c5 100644 --- a/build/lbuild-rhel6 +++ b/build/lbuild-rhel6 @@ -7,8 +7,7 @@ # distributions, update the BUILD_GEN variable in build/lbuild) #BUILD_GEN+=".0" #BUILD_GEN+=".1" # added --with firmware to rpmbuild for rhel6 -#BUILD_GEN+=".0" # TT-107: don't cache the BUILD dir (reset major to 5) -BUILD_GEN+=".1" # LU-50: kernel: configurable BH LRU size +BUILD_GEN+=".0" # TT-107: don't cache the BUILD dir (reset major to 5) source ${0%/*}/lbuild-rhel @@ -30,9 +29,9 @@ ApplyOptionalPatch linux-%{version}-lustre.patch\ ' \ -e '/rm -f include\/generated\/kernel.cross/i\ # lustre kernel config.\ - if [ -f %{_topdir}/lustre/lustre/kernel_patches/kernel_configs/kernel-%{version}-2.6-rhel6-$Arch.config ]; then\ - echo "# $Arch" > configs/kernel-%{version}-$Arch.config\ - cat %{_topdir}/lustre/lustre/kernel_patches/kernel_configs/kernel-%{version}-2.6-rhel6-$Arch.config >> configs/kernel-%{version}-$Arch.config\ + if [ -f %{_topdir}/lustre/lustre/kernel_patches/kernel_configs/kernel-%{version}-2.6-rhel6-%{_target_cpu}.config ]; then\ + echo "# $Arch" > configs/kernel-%{version}-%{_target_cpu}.config\ + cat %{_topdir}/lustre/lustre/kernel_patches/kernel_configs/kernel-%{version}-2.6-rhel6-%{_target_cpu}.config >> configs/kernel-%{version}-%{_target_cpu}.config\ fi'\ -e '/^# Dynamically generate kernel/a echo "CONFIG_BH_LRU_SIZE=16" >> config-generic'\ SPECS/$SPEC_NAME 2>&1 || \ diff --git a/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel6.patch b/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel6.patch index c3411d2..6ac6fc7 100644 --- a/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel6.patch @@ -1,8 +1,8 @@ -Index: linux-2.6.32.i386/fs/ext4/super.c +Index: linux-stage/fs/ext4/super.c =================================================================== ---- linux-2.6.32.i386.orig/fs/ext4/super.c 2010-04-07 14:18:32.000000000 +0530 -+++ linux-2.6.32.i386/fs/ext4/super.c 2010-04-07 14:19:47.000000000 +0530 -@@ -291,6 +291,8 @@ +--- linux-stage.orig/fs/ext4/super.c ++++ linux-stage/fs/ext4/super.c +@@ -185,6 +185,8 @@ void ext4_journal_abort_handle(const cha jbd2_journal_abort_handle(handle); } @@ -11,7 +11,7 @@ Index: linux-2.6.32.i386/fs/ext4/super.c /* Deal with the reporting of failure conditions on a filesystem such as * inconsistencies detected or read IO failures. * -@@ -3030,6 +3032,8 @@ +@@ -2459,6 +2461,8 @@ out_fail: return ret; } @@ -20,7 +20,7 @@ Index: linux-2.6.32.i386/fs/ext4/super.c /* * Setup any per-fs journal parameters now. We'll do this both on * initial mount, once the journal has been initialised but before we've -@@ -4088,6 +4092,12 @@ +@@ -3504,6 +3508,12 @@ int ext4_map_inode_page(struct inode *in unsigned long *blocks, int *created, int create); EXPORT_SYMBOL(ext4_map_inode_page); @@ -31,26 +31,26 @@ Index: linux-2.6.32.i386/fs/ext4/super.c +EXPORT_SYMBOL(__ext4_journal_stop); + MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); - MODULE_DESCRIPTION("Fourth Extended Filesystem"); + MODULE_DESCRIPTION("Fourth Extended Filesystem with extents"); MODULE_LICENSE("GPL"); -Index: linux-2.6.32.i386/fs/ext4/ext4.h +Index: linux-stage/fs/ext4/ext4.h =================================================================== ---- linux-2.6.32.i386.orig/fs/ext4/ext4.h 2010-04-07 14:17:04.000000000 +0530 -+++ linux-2.6.32.i386/fs/ext4/ext4.h 2010-04-07 14:20:34.000000000 +0530 -@@ -1385,6 +1385,8 @@ - struct buffer_head *bh, - ext4_group_t group, - struct ext4_group_desc *desc); +--- linux-stage.orig/fs/ext4/ext4.h ++++ linux-stage/fs/ext4/ext4.h +@@ -1024,6 +1024,8 @@ extern unsigned long ext4_count_free_ino + struct buffer_head *bh, + ext4_group_t group, + struct ext4_group_desc *desc); +extern struct buffer_head *ext4_read_inode_bitmap(struct super_block *sb, + ext4_group_t block_group); extern void mark_bitmap_end(int start_bit, int end_bit, char *bitmap); - - /* mballoc.c */ -Index: linux-2.6.32.i386/fs/ext4/ialloc.c + extern int ext4_init_inode_table(struct super_block *sb, + ext4_group_t group, int barrier); +Index: linux-stage/fs/ext4/ialloc.c =================================================================== ---- linux-2.6.32.i386.orig/fs/ext4/ialloc.c 2009-12-03 09:21:21.000000000 +0530 -+++ linux-2.6.32.i386/fs/ext4/ialloc.c 2010-04-07 14:19:47.000000000 +0530 -@@ -98,7 +98,7 @@ +--- linux-stage.orig/fs/ext4/ialloc.c ++++ linux-stage/fs/ext4/ialloc.c +@@ -96,7 +96,7 @@ unsigned ext4_init_inode_bitmap(struct s * * Return buffer_head of bitmap on success or NULL. */ @@ -59,7 +59,7 @@ Index: linux-2.6.32.i386/fs/ext4/ialloc.c ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group) { struct ext4_group_desc *desc; -@@ -161,6 +161,7 @@ +@@ -137,6 +137,7 @@ ext4_read_inode_bitmap(struct super_bloc } return bh; } @@ -67,11 +67,11 @@ Index: linux-2.6.32.i386/fs/ext4/ialloc.c /* * NOTE! When we get the inode, we're the only people -Index: linux-2.6.32.i386/fs/ext4/balloc.c +Index: linux-stage/fs/ext4/balloc.c =================================================================== ---- linux-2.6.32.i386.orig/fs/ext4/balloc.c 2010-03-19 15:43:37.000000000 +0530 -+++ linux-2.6.32.i386/fs/ext4/balloc.c 2010-04-07 14:19:47.000000000 +0530 -@@ -235,6 +235,7 @@ +--- linux-stage.orig/fs/ext4/balloc.c ++++ linux-stage/fs/ext4/balloc.c +@@ -236,6 +236,7 @@ struct ext4_group_desc * ext4_get_group_ *bh = sbi->s_group_desc[group_desc]; return desc; } diff --git a/ldiskfs/kernel_patches/patches/ext4-big-endian-check-2.6-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-big-endian-check-2.6-rhel6.patch index 6a1ef25..91e55a8 100644 --- a/ldiskfs/kernel_patches/patches/ext4-big-endian-check-2.6-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-big-endian-check-2.6-rhel6.patch @@ -11,15 +11,16 @@ Index: linux-stage/fs/ext4/super.c ext4_fsblk_t ext4_block_bitmap(struct super_block *sb, struct ext4_group_desc *bg) { -@@ -1492,7 +1494,7 @@ +@@ -1492,8 +1494,8 @@ + Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_block_validity, Opt_noblock_validity, Opt_inode_readahead_blks, Opt_journal_ioprio, - Opt_discard, Opt_nodiscard, - Opt_mballoc, + Opt_mballoc, Opt_bigendian_extents, + Opt_discard, Opt_nodiscard, + Opt_init_inode_table, Opt_noinit_inode_table, }; - static const match_table_t tokens = { @@ -1559,6 +1561,7 @@ {Opt_auto_da_alloc, "auto_da_alloc=%u"}, {Opt_auto_da_alloc, "auto_da_alloc"}, diff --git a/ldiskfs/kernel_patches/patches/ext4-disable-mb-cache-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-disable-mb-cache-rhel6.patch index ee25925..80a62d3 100644 --- a/ldiskfs/kernel_patches/patches/ext4-disable-mb-cache-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-disable-mb-cache-rhel6.patch @@ -18,20 +18,20 @@ Index: linux-stage/fs/ext4/super.c +++ linux-stage/fs/ext4/super.c 2011-03-14 16:18:13.831956469 +0800 @@ -1502,6 +1502,7 @@ Opt_inode_readahead_blks, Opt_journal_ioprio, - Opt_discard, Opt_nodiscard, Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb, -+ Opt_no_mbcache, Opt_extents, Opt_noextents, ++ Opt_no_mbcache, + Opt_discard, Opt_nodiscard, + Opt_init_inode_table, Opt_noinit_inode_table, }; - @@ -1574,6 +1575,7 @@ + {Opt_noauto_da_alloc, "noauto_da_alloc"}, + {Opt_bigendian_extents, "bigendian_extents"}, {Opt_mballoc, "mballoc"}, - {Opt_discard, "discard"}, - {Opt_nodiscard, "nodiscard"}, + {Opt_no_mbcache, "no_mbcache"}, - {Opt_extents, "extents"}, - {Opt_noextents, "noextents"}, - {Opt_err, NULL}, + {Opt_extents, "extents"}, + {Opt_noextents, "noextents"}, + {Opt_discard, "discard"}, @@ -2049,6 +2051,9 @@ } clear_opt(sbi->s_mount_opt, EXTENTS); diff --git a/ldiskfs/kernel_patches/patches/ext4-dynlocks-common-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-dynlocks-common-rhel6.patch index 628c3bc..1a2675d 100644 --- a/ldiskfs/kernel_patches/patches/ext4-dynlocks-common-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-dynlocks-common-rhel6.patch @@ -295,13 +295,16 @@ Index: linux-stage/fs/ext4/super.c =================================================================== --- linux-stage.orig/fs/ext4/super.c +++ linux-stage/fs/ext4/super.c -@@ -4125,32 +4125,37 @@ static int __init init_ext4_fs(void) +@@ -4125,20 +4125,23 @@ static int __init init_ext4_fs(void) return err; ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj); if (!ext4_kset) - goto out4; + goto out5; ext4_proc_root = proc_mkdir("fs/ext4", NULL); + + err = ext4_init_feat_adverts(); + err = init_ext4_mballoc(); if (err) - goto out3; @@ -317,8 +320,9 @@ Index: linux-stage/fs/ext4/super.c + err = dynlock_cache_init(); + if (err) goto out1; - err = register_filesystem(&ext4_fs_type); - if (err) + + ext4_li_info = NULL; +@@ -4125,14 +4125,16 @@ static int __init init_ext4_fs(void) goto out; return 0; out: @@ -333,6 +337,7 @@ Index: linux-stage/fs/ext4/super.c out3: + exit_ext4_mballoc(); +out4: + ext4_exit_feat_adverts(); remove_proc_entry("fs/ext4", NULL); kset_unregister(ext4_kset); -out4: diff --git a/ldiskfs/kernel_patches/patches/ext4-extents-mount-option-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-extents-mount-option-rhel6.patch index 393aace..59da6f6 100644 --- a/ldiskfs/kernel_patches/patches/ext4-extents-mount-option-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-extents-mount-option-rhel6.patch @@ -94,22 +94,22 @@ Index: linux-stage/fs/ext4/super.c seq_puts(seq, ",i_version"); if (!test_opt(sb, DELALLOC)) @@ -1515,6 +1517,7 @@ enum { + Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_inode_readahead_blks, Opt_journal_ioprio, - Opt_discard, Opt_nodiscard, Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb, + Opt_extents, Opt_noextents, + Opt_discard, Opt_nodiscard, + Opt_init_inode_table, Opt_noinit_inode_table, }; - - static const match_table_t tokens = { @@ -1589,6 +1592,8 @@ static const match_table_t tokens = { + {Opt_noauto_da_alloc, "noauto_da_alloc"}, + {Opt_bigendian_extents, "bigendian_extents"}, {Opt_mballoc, "mballoc"}, - {Opt_discard, "discard"}, - {Opt_nodiscard, "nodiscard"}, + {Opt_extents, "extents"}, + {Opt_noextents, "noextents"}, - {Opt_err, NULL}, - }; - + {Opt_discard, "discard"}, + {Opt_nodiscard, "nodiscard"}, + {Opt_init_inode_table, "init_itable=%u"}, @@ -1631,6 +1636,7 @@ static int parse_options(char *options, int qtype, qfmt; char *qname; diff --git a/ldiskfs/kernel_patches/patches/ext4-force_over_128tb-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-force_over_128tb-rhel6.patch index a01f42d..e0254b4 100644 --- a/ldiskfs/kernel_patches/patches/ext4-force_over_128tb-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-force_over_128tb-rhel6.patch @@ -12,14 +12,14 @@ Index: linux-stage/fs/ext4/super.c unsigned long journal_devnum); static int ext4_commit_super(struct super_block *sb, int sync); @@ -1494,7 +1496,7 @@ + Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_block_validity, Opt_noblock_validity, Opt_inode_readahead_blks, Opt_journal_ioprio, - Opt_discard, Opt_nodiscard, - Opt_mballoc, Opt_bigendian_extents, + Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb, + Opt_discard, Opt_nodiscard, + Opt_init_inode_table, Opt_noinit_inode_table, }; - - static const match_table_t tokens = { @@ -1562,6 +1564,7 @@ {Opt_auto_da_alloc, "auto_da_alloc"}, {Opt_noauto_da_alloc, "noauto_da_alloc"}, diff --git a/ldiskfs/kernel_patches/patches/ext4-max-dir-size-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-max-dir-size-rhel6.patch index 8352d02..5046b48 100644 --- a/ldiskfs/kernel_patches/patches/ext4-max-dir-size-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-max-dir-size-rhel6.patch @@ -44,14 +44,14 @@ Index: linux-2.6.32-el6-beta/fs/ext4/ext4.h --- linux-2.6.32-el6-beta.orig/fs/ext4/ext4.h +++ linux-2.6.32-el6-beta/fs/ext4/ext4.h @@ -1029,6 +1029,8 @@ struct ext4_sb_info { - - /* Kernel thread for multiple mount protection */ - struct task_struct *s_mmp_tsk; + + unsigned int s_log_groups_per_flex; + struct flex_groups *s_flex_groups; + + unsigned long s_max_dir_size; - }; - - static inline struct ext4_sb_info *EXT4_SB(struct super_block *sb) + + /* workqueue for dio unwritten */ + struct workqueue_struct *dio_unwritten_wq; @@ -1353,6 +1355,12 @@ struct mmp_struct { #define EXT4_MMP_MIN_CHECK_INTERVAL 5 diff --git a/ldiskfs/kernel_patches/patches/ext4-mballoc-extra-checks-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-mballoc-extra-checks-rhel6.patch index c0b59f0..63eb530 100644 --- a/ldiskfs/kernel_patches/patches/ext4-mballoc-extra-checks-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-mballoc-extra-checks-rhel6.patch @@ -64,18 +64,18 @@ Index: linux-stage/fs/ext4/mballoc.c /* The buddy information is attached the buddy cache inode @@ -839,7 +840,7 @@ - first_block = page->index * blocks_per_page; - /* init the page */ - memset(page_address(page), 0xff, PAGE_CACHE_SIZE); + + err = 0; + first_block = page->index * blocks_per_page; - for (i = 0; i < blocks_per_page; i++) { + for (i = 0; i < blocks_per_page && err == 0; i++) { int group; struct ext4_group_info *grinfo; @@ -874,7 +875,7 @@ - * incore got set to the group block bitmap below - */ ext4_lock_group(sb, group); + /* init the buddy */ + memset(data, 0xff, blocksize); - ext4_mb_generate_buddy(sb, data, incore, group); + err = ext4_mb_generate_buddy(sb, data, incore, group); ext4_unlock_group(sb, group); diff --git a/ldiskfs/kernel_patches/patches/ext4-misc-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-misc-rhel6.patch index f25ba7e..9ac2611 100644 --- a/ldiskfs/kernel_patches/patches/ext4-misc-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-misc-rhel6.patch @@ -205,30 +205,29 @@ Index: linux-stage/fs/ext4/super.c void ext4_block_bitmap_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk) -@@ -1500,11 +1501,13 @@ enum { - Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, - Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota, - Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err, +@@ -1500,10 +1501,12 @@ enum { + Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, + Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota, + Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err, + Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, - Opt_resize, Opt_usrquota, Opt_grpquota, Opt_i_version, + Opt_resize, Opt_usrquota, Opt_grpquota, Opt_i_version, Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_block_validity, Opt_noblock_validity, Opt_inode_readahead_blks, Opt_journal_ioprio, - Opt_discard, Opt_nodiscard, + Opt_mballoc, + Opt_discard, Opt_nodiscard, + Opt_init_inode_table, Opt_noinit_inode_table, }; - - static const match_table_t tokens = { -@@ -1556,6 +1559,9 @@ static const match_table_t tokens = { - {Opt_noquota, "noquota"}, - {Opt_quota, "quota"}, - {Opt_usrquota, "usrquota"}, +@@ -1556,6 +1559,9 @@ static const match_table_t tokens = { + {Opt_noquota, "noquota"}, + {Opt_quota, "quota"}, + {Opt_usrquota, "usrquota"}, + {Opt_iopen, "iopen"}, + {Opt_noiopen, "noiopen"}, + {Opt_iopen_nopriv, "iopen_nopriv"}, - {Opt_barrier, "barrier=%u"}, - {Opt_barrier, "barrier"}, - {Opt_nobarrier, "nobarrier"}, + {Opt_barrier, "barrier=%u"}, + {Opt_barrier, "barrier"}, + {Opt_nobarrier, "nobarrier"}, @@ -1571,6 +1577,7 @@ static const match_table_t tokens = { {Opt_auto_da_alloc, "auto_da_alloc=%u"}, {Opt_auto_da_alloc, "auto_da_alloc"}, @@ -237,7 +236,7 @@ Index: linux-stage/fs/ext4/super.c {Opt_discard, "discard"}, {Opt_nodiscard, "nodiscard"}, {Opt_err, NULL}, -@@ -1928,6 +1935,10 @@ set_qf_format: +@@ -1928,6 +1935,10 @@ set_qf_format: else clear_opt(sbi->s_mount_opt, BARRIER); break; diff --git a/ldiskfs/kernel_patches/patches/ext4-mmp-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-mmp-rhel6.patch index 9d37b39..7ca04e2 100644 --- a/ldiskfs/kernel_patches/patches/ext4-mmp-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-mmp-rhel6.patch @@ -51,9 +51,9 @@ Index: linux-stage/fs/ext4/ext4.h + + /* Kernel thread for multiple mount protection */ + struct task_struct *s_mmp_tsk; - }; - static inline struct ext4_sb_info *EXT4_SB(struct super_block *sb) + /* Lazy inode table initialization info */ + struct ext4_li_request *s_li_request; @@ -1176,7 +1179,8 @@ static inline void ext4_clear_inode_stat EXT4_FEATURE_INCOMPAT_META_BG| \ EXT4_FEATURE_INCOMPAT_EXTENTS| \ diff --git a/ldiskfs/kernel_patches/patches/ext4-prealloc-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4-prealloc-rhel6.patch index 70023d6..bd94246 100644 --- a/ldiskfs/kernel_patches/patches/ext4-prealloc-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4-prealloc-rhel6.patch @@ -36,10 +36,11 @@ Index: linux-stage/fs/ext4/mballoc.c =================================================================== --- linux-stage.orig/fs/ext4/mballoc.c 2011-03-11 14:03:32.000000000 +0800 +++ linux-stage/fs/ext4/mballoc.c 2011-03-11 14:44:49.106543493 +0800 -@@ -1823,6 +1823,26 @@ +@@ -1823,6 +1823,25 @@ + } } - ++ +static void ext4_mb_prealloc_table_add(struct ext4_sb_info *sbi, int value) +{ + int i; @@ -58,11 +59,9 @@ Index: linux-stage/fs/ext4/mballoc.c + return; + } +} -+ -+ + static int ext4_mb_good_group(struct ext4_allocation_context *ac, ext4_group_t group, int cr) - { @@ -2173,6 +2193,80 @@ .show = ext4_mb_seq_groups_show, }; diff --git a/ldiskfs/kernel_patches/patches/ext4_data_in_dirent-rhel6.patch b/ldiskfs/kernel_patches/patches/ext4_data_in_dirent-rhel6.patch index 61f4119..b23e2d6 100644 --- a/ldiskfs/kernel_patches/patches/ext4_data_in_dirent-rhel6.patch +++ b/ldiskfs/kernel_patches/patches/ext4_data_in_dirent-rhel6.patch @@ -36,13 +36,13 @@ Index: linux-stage/fs/ext4/dir.c const int rlen = ext4_rec_len_from_disk(de->rec_len, dir->i_sb->s_blocksize); -- if (rlen < EXT4_DIR_REC_LEN(1)) -+ if (rlen < __EXT4_DIR_REC_LEN(1)) +- if (unlikely(rlen < EXT4_DIR_REC_LEN(1))) ++ if (unlikely(rlen < __EXT4_DIR_REC_LEN(1))) error_msg = "rec_len is smaller than minimal"; - else if (rlen % 4 != 0) + else if (unlikely(rlen % 4 != 0)) error_msg = "rec_len % 4 != 0"; -- else if (rlen < EXT4_DIR_REC_LEN(de->name_len)) -+ else if (rlen < EXT4_DIR_REC_LEN(de)) +- else if (unlikely(rlen < EXT4_DIR_REC_LEN(de->name_len))) ++ else if (unlikely(rlen < EXT4_DIR_REC_LEN(de))) error_msg = "rec_len is too small for name_len"; else if (((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize) error_msg = "directory entry across blocks"; diff --git a/ldiskfs/kernel_patches/series/ldiskfs-2.6-rhel6.series b/ldiskfs/kernel_patches/series/ldiskfs-2.6-rhel6.series index dcfc870..1dcd44e 100644 --- a/ldiskfs/kernel_patches/series/ldiskfs-2.6-rhel6.series +++ b/ldiskfs/kernel_patches/series/ldiskfs-2.6-rhel6.series @@ -1,6 +1,6 @@ ext4-wantedi-2.6-rhel6.patch ext4-map_inode_page-2.6.18-rhel5.patch -export-ext4-2.6-rhel5.patch +export-ext4-2.6-rhel6.patch ext4-remove-cond_resched-calls-rhel5.patch ext4-nlink-2.6-rhel5.patch ext4-ext_generation-sles11.patch diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 97c4f03..3c07a6b 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -2,10 +2,9 @@ TBD Whamcloud, Inc. * version 2.2.0 * See http://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix * Server support for kernels: - 2.6.32-131.6.1.el6 (RHEL6) - 2.6.18-238.19.1.el5 (RHEL5) + 2.6.32-220.el6 (RHEL6) * Client support for unpatched kernels: - 2.6.32-131.17.1.el6 (RHEL6) + 2.6.32-220.el6 (RHEL6) 2.6.27.19-5 (SLES11) 2.6.18-238.19.1.el5 (RHEL5) 2.6.16.60-0.69.1 (SLES10) @@ -17,6 +16,10 @@ TBD Whamcloud, Inc. the re-exporting nodes to be mounted with "32bitapi" mount option Severity : enhancement +Jira : LU-751 +Description: Update RHEL6.2 kernel to 2.6.32-220.el6 + +Severity : enhancement Jira : LU-624 Description: Update RHEL6.1 kernel to 2.6.32-131.17.1.el6 diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-i686.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-i686.config index 7122929..32c3d9d 100644 --- a/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-i686.config +++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-i686.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.32 -# Sun Jul 5 23:04:09 2011 +# Tue Dec 20 23:41:08 2011 # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -100,6 +100,7 @@ CONFIG_LOG_BUF_SHIFT=19 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y # CONFIG_USER_SCHED is not set CONFIG_CGROUP_SCHED=y @@ -116,6 +117,7 @@ CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_CGROUP_PERF=y CONFIG_SCHED_AUTOGROUP=y CONFIG_MM_OWNER=y # CONFIG_SYSFS_DEPRECATED_V2 is not set @@ -211,6 +213,7 @@ CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_THROTTLING=y @@ -251,7 +254,7 @@ CONFIG_X86_32_NON_STANDARD=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=y CONFIG_XEN=y -CONFIG_XEN_MAX_DOMAIN_MEMORY=8 +CONFIG_XEN_MAX_DOMAIN_MEMORY=128 CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_DEBUG_FS=y # CONFIG_VMI is not set @@ -453,9 +456,10 @@ CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HOTPLUG_MEMORY=y # CONFIG_ACPI_HOTPLUG_MEMORY_AUTO_ONLINE is not set CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=m +CONFIG_ACPI_HED=y CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_GHES=m +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_EINJ=m CONFIG_ACPI_APEI_ERST_DEBUG=m CONFIG_SFI=y @@ -553,7 +557,7 @@ CONFIG_ISA=y # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_OLPC=y -CONFIG_K8_NB=y +CONFIG_AMD_NB=y CONFIG_PCCARD=y # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=y @@ -736,6 +740,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_SET=m CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m @@ -772,6 +777,18 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m CONFIG_IP_VS_IPV6=y # CONFIG_IP_VS_DEBUG is not set @@ -1425,9 +1442,6 @@ CONFIG_FCOE_FNIC=m # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set CONFIG_SCSI_ISCI=m -# CONFIG_PBG_HBA_BETA is not set -CONFIG_PBG_HBA_A2=y -# CONFIG_PBG_HBA_A0 is not set # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set CONFIG_SCSI_IPS=m @@ -1566,6 +1580,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m @@ -1575,11 +1590,19 @@ CONFIG_DM_DELAY=m CONFIG_DM_REPLICATOR=m CONFIG_DM_RAID45=m CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set +CONFIG_TCM_FC=m CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_MAX_SGE=256 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m CONFIG_FUSION_LOGGING=y @@ -2352,7 +2375,8 @@ CONFIG_UNIX98_PTYS=y CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # CONFIG_LEGACY_PTYS is not set CONFIG_CRASH=y -# CONFIG_PRINTER is not set +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y @@ -2493,7 +2517,7 @@ CONFIG_WM8350_POWER=m CONFIG_BATTERY_OLPC=y CONFIG_BATTERY_BQ27x00=m CONFIG_BATTERY_MAX17040=m -CONFIG_HWMON=m +CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set @@ -2528,7 +2552,6 @@ CONFIG_SENSORS_G760A=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=m -CONFIG_SENSORS_PKGTEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IT87=m @@ -2583,6 +2606,7 @@ CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_LIS3LV02D=m CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -2599,7 +2623,7 @@ CONFIG_ALIM7101_WDT=m # CONFIG_SC520_WDT is not set CONFIG_SBC_FITPC2_WATCHDOG=m # CONFIG_EUROTECH_WDT is not set -# CONFIG_IB700_WDT is not set +CONFIG_IB700_WDT=m CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=m @@ -3091,7 +3115,6 @@ CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y # CONFIG_DRM_I810 is not set -# CONFIG_DRM_I830 is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_MGA=m @@ -3348,6 +3371,7 @@ CONFIG_SND_ENS1371=m CONFIG_SND_ES1968=m # CONFIG_SND_FM801 is not set CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=512 CONFIG_SND_HDA_HWDEP=y # CONFIG_SND_HDA_RECONFIG is not set CONFIG_SND_HDA_INPUT_BEEP=y @@ -3355,6 +3379,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=2 CONFIG_SND_HDA_INPUT_JACK=y # CONFIG_SND_HDA_PATCH_LOADER is not set CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y CONFIG_SND_HDA_CODEC_VIA=y @@ -3362,6 +3387,7 @@ CONFIG_SND_HDA_CODEC_HDMI=y CONFIG_SND_HDA_CODEC_CIRRUS=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y @@ -3672,6 +3698,7 @@ CONFIG_MSPRO_BLOCK=m # CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y @@ -3727,6 +3754,7 @@ CONFIG_EDAC=y # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m +# CONFIG_EDAC_MCE_INJ is not set CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD76X=m @@ -3744,6 +3772,7 @@ CONFIG_EDAC_R82600=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m +# CONFIG_EDAC_SBRIDGE is not set CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y @@ -3913,6 +3942,7 @@ CONFIG_ZRAM=m CONFIG_ZRAM_DEBUG=y CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m +# CONFIG_ACERHDF is not set CONFIG_ASUS_LAPTOP=m CONFIG_DELL_WMI=m CONFIG_FUJITSU_LAPTOP=m @@ -3937,6 +3967,7 @@ CONFIG_ACPI_WMI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_INTEL_IPS=m +CONFIG_MXM_WMI=m # # Firmware Drivers @@ -4087,6 +4118,7 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # CONFIG_EXOFS_FS is not set @@ -4127,7 +4159,7 @@ CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set CONFIG_CIFS_DFS_UPCALL=y # CONFIG_CIFS_FSCACHE is not set -CONFIG_CIFS_EXPERIMENTAL=y +CONFIG_CIFS_ACL=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set @@ -4263,7 +4295,7 @@ CONFIG_BOOT_PRINTK_DELAY=y # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_LKDTM is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-x86_64.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-x86_64.config index 7f2c95f..fe060e7 100644 --- a/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-x86_64.config +++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.32-2.6-rhel6-x86_64.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.32 -# Sun Jul 5 23:04:00 2011 +# Tue Dec 20 15:42:19 2011 # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -101,6 +101,7 @@ CONFIG_LOG_BUF_SHIFT=19 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y # CONFIG_USER_SCHED is not set CONFIG_CGROUP_SCHED=y @@ -117,6 +118,7 @@ CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_CGROUP_PERF=y CONFIG_SCHED_AUTOGROUP=y CONFIG_MM_OWNER=y # CONFIG_SYSFS_DEPRECATED_V2 is not set @@ -212,6 +214,7 @@ CONFIG_MODULE_VERIFY=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLOCK_COMPAT=y @@ -251,7 +254,7 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=y CONFIG_XEN=y -CONFIG_XEN_MAX_DOMAIN_MEMORY=32 +CONFIG_XEN_MAX_DOMAIN_MEMORY=128 CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_DEBUG_FS=y CONFIG_KVM_CLOCK=y @@ -341,7 +344,7 @@ CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_DIRECT_GBPAGES=y CONFIG_TRACK_DIRTY_PAGES=y CONFIG_NUMA=y -CONFIG_K8_NUMA=y +CONFIG_AMD_NUMA=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_NODES_SPAN_OTHER_NODES=y # CONFIG_NUMA_EMU is not set @@ -452,9 +455,10 @@ CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HOTPLUG_MEMORY=y CONFIG_ACPI_HOTPLUG_MEMORY_AUTO_ONLINE=y CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=m +CONFIG_ACPI_HED=y CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_GHES=m +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_EINJ=m CONFIG_ACPI_APEI_ERST_DEBUG=m CONFIG_SFI=y @@ -529,7 +533,7 @@ CONFIG_PCI_STUB=y CONFIG_HT_IRQ=y CONFIG_PCI_IOV=y CONFIG_ISA_DMA_API=y -CONFIG_K8_NB=y +CONFIG_AMD_NB=y CONFIG_PCCARD=y # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=y @@ -711,6 +715,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_SET=m CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m @@ -747,6 +752,18 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m CONFIG_IP_VS_IPV6=y # CONFIG_IP_VS_DEBUG is not set @@ -1393,9 +1410,6 @@ CONFIG_FCOE_FNIC=m # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set CONFIG_SCSI_ISCI=m -# CONFIG_PBG_HBA_BETA is not set -CONFIG_PBG_HBA_A2=y -# CONFIG_PBG_HBA_A0 is not set CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m # CONFIG_SCSI_INIA100 is not set @@ -1516,6 +1530,7 @@ CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m +CONFIG_DM_RAID=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m @@ -1525,11 +1540,19 @@ CONFIG_DM_DELAY=m CONFIG_DM_REPLICATOR=m CONFIG_DM_RAID45=m CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_LOOPBACK_TARGET=m +# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set +CONFIG_TCM_FC=m CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_MAX_SGE=256 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m CONFIG_FUSION_LOGGING=y @@ -2239,7 +2262,8 @@ CONFIG_UNIX98_PTYS=y CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # CONFIG_LEGACY_PTYS is not set CONFIG_CRASH=y -# CONFIG_PRINTER is not set +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y @@ -2275,7 +2299,7 @@ CONFIG_MAX_RAW_DEVS=8192 CONFIG_HPET=y # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m -# CONFIG_UV_MMTIMER is not set +CONFIG_UV_MMTIMER=m CONFIG_TCG_TPM=y CONFIG_TCG_TIS=y CONFIG_TCG_NSC=m @@ -2373,7 +2397,7 @@ CONFIG_WM8350_POWER=m # CONFIG_BATTERY_DS2782 is not set CONFIG_BATTERY_BQ27x00=m CONFIG_BATTERY_MAX17040=m -CONFIG_HWMON=m +CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set @@ -2408,7 +2432,6 @@ CONFIG_SENSORS_G760A=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=m -CONFIG_SENSORS_PKGTEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IT87=m @@ -2463,6 +2486,7 @@ CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_LIS3LV02D=m CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -2479,7 +2503,7 @@ CONFIG_ALIM7101_WDT=m # CONFIG_SC520_WDT is not set CONFIG_SBC_FITPC2_WATCHDOG=m # CONFIG_EUROTECH_WDT is not set -# CONFIG_IB700_WDT is not set +CONFIG_IB700_WDT=m CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=m @@ -2955,7 +2979,6 @@ CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y # CONFIG_DRM_I810 is not set -# CONFIG_DRM_I830 is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_MGA=m @@ -3173,6 +3196,7 @@ CONFIG_SND_ENS1371=m CONFIG_SND_ES1968=m # CONFIG_SND_FM801 is not set CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=512 CONFIG_SND_HDA_HWDEP=y # CONFIG_SND_HDA_RECONFIG is not set CONFIG_SND_HDA_INPUT_BEEP=y @@ -3180,6 +3204,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=2 CONFIG_SND_HDA_INPUT_JACK=y # CONFIG_SND_HDA_PATCH_LOADER is not set CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y CONFIG_SND_HDA_CODEC_VIA=y @@ -3187,6 +3212,7 @@ CONFIG_SND_HDA_CODEC_HDMI=y CONFIG_SND_HDA_CODEC_CIRRUS=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y @@ -3496,6 +3522,7 @@ CONFIG_MSPRO_BLOCK=m # CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y @@ -3553,6 +3580,7 @@ CONFIG_EDAC=y # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m +# CONFIG_EDAC_MCE_INJ is not set CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD64=m @@ -3567,6 +3595,7 @@ CONFIG_EDAC_I7CORE=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m +CONFIG_EDAC_SBRIDGE=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y @@ -3736,6 +3765,7 @@ CONFIG_ZRAM=m CONFIG_ZRAM_DEBUG=y CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m +# CONFIG_ACERHDF is not set CONFIG_ASUS_LAPTOP=m CONFIG_DELL_WMI=m CONFIG_FUJITSU_LAPTOP=m @@ -3759,6 +3789,7 @@ CONFIG_ACPI_WMI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_INTEL_IPS=m +CONFIG_MXM_WMI=m # # Firmware Drivers @@ -3913,6 +3944,7 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # CONFIG_EXOFS_FS is not set @@ -3953,7 +3985,7 @@ CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set CONFIG_CIFS_DFS_UPCALL=y # CONFIG_CIFS_FSCACHE is not set -CONFIG_CIFS_EXPERIMENTAL=y +CONFIG_CIFS_ACL=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set @@ -4088,7 +4120,7 @@ CONFIG_BOOT_PRINTK_DELAY=y # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_LKDTM is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set diff --git a/lustre/kernel_patches/patches/dev_read_only-2.6.32-rhel6.patch b/lustre/kernel_patches/patches/dev_read_only-2.6.32-rhel6.patch index 71e6359..f6e7129 100644 --- a/lustre/kernel_patches/patches/dev_read_only-2.6.32-rhel6.patch +++ b/lustre/kernel_patches/patches/dev_read_only-2.6.32-rhel6.patch @@ -30,7 +30,7 @@ Index: linux-2.6.32-131.0.15.el6.x86_64/block/blk-core.c /* * Check whether this bio extends beyond the end of the device. */ -@@ -1517,6 +1519,23 @@ static inline void __generic_make_reques +@@ -1517,6 +1519,21 @@ static inline void __generic_make_reques if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags))) goto end_io; @@ -45,10 +45,8 @@ Index: linux-2.6.32-131.0.15.el6.x86_64/block/blk-core.c + bdev->bd_dev, bio->bi_flags, bio->bi_vcnt, + bio->bi_idx, bio->bi_size, + atomic_read(&bio->bi_cnt), bio->bi_private); -+ set_bit(BIO_RDONLY, &bio->bi_flags); -+ bio_endio(bio, 0); -+ clear_bit(BIO_RDONLY, &bio->bi_flags); -+ break; ++ err = 0; ++ goto end_io; + } + if (should_fail_request(bio)) @@ -166,18 +164,6 @@ Index: linux-2.6.32-131.0.15.el6.x86_64/fs/block_dev.c } unlock_kernel(); mutex_unlock(&bdev->bd_mutex); -Index: linux-2.6.32-131.0.15.el6.x86_64/include/linux/blk_types.h -=================================================================== ---- linux-2.6.32-131.0.15.el6.x86_64.orig/include/linux/blk_types.h 2011-05-10 21:37:58.000000000 +0300 -+++ linux-2.6.32-131.0.15.el6.x86_64/include/linux/blk_types.h 2011-05-19 21:03:42.000000000 +0300 -@@ -24,6 +24,7 @@ - #define BIO_NULL_MAPPED 9 /* contains invalid user pages */ - #define BIO_FS_INTEGRITY 10 /* fs owns integrity data, not block layer */ - #define BIO_QUIET 11 /* Make BIO Quiet */ -+#define BIO_RDONLY 31 /* device is readonly */ - #define bio_flagged(bio, flag) ((bio)->bi_flags & (1 << (flag))) - - /* Index: linux-2.6.32-131.0.15.el6.x86_64/include/linux/fs.h =================================================================== --- linux-2.6.32-131.0.15.el6.x86_64.orig/include/linux/fs.h 2011-05-10 21:38:29.000000000 +0300 diff --git a/lustre/kernel_patches/patches/vfs_races-2.6.32-rhel6.patch b/lustre/kernel_patches/patches/vfs_races-2.6.32-rhel6.patch index 5cd4f1b..819c57b 100644 --- a/lustre/kernel_patches/patches/vfs_races-2.6.32-rhel6.patch +++ b/lustre/kernel_patches/patches/vfs_races-2.6.32-rhel6.patch @@ -21,10 +21,10 @@ Index: linux-2.6.32-71.18.1.el6/include/linux/dcache.h --- linux-2.6.32-71.18.1.el6.orig/include/linux/dcache.h +++ linux-2.6.32-71.18.1.el6/include/linux/dcache.h @@ -185,6 +185,7 @@ d_iput: no no no yes - #define DCACHE_COOKIE 0x0040 /* For use by dcookie subsystem */ - - #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x0080 /* Parent inode is watched by some fsnotify listener */ -+#define DCACHE_LUSTRE_INVALID 0x0100 /* Lustre invalidated */ + #define DCACHE_MANAGE_TRANSIT 0x40000 /* manage transit from this dirent */ + #define DCACHE_MANAGED_DENTRY \ + (DCACHE_MOUNTED|DCACHE_NEED_AUTOMOUNT|DCACHE_MANAGE_TRANSIT) ++#define DCACHE_LUSTRE_INVALID 0x4000000 /* Lustre invalidated */ extern spinlock_t dcache_lock; extern seqlock_t rename_lock; diff --git a/lustre/kernel_patches/series/2.6-rhel6.series b/lustre/kernel_patches/series/2.6-rhel6.series index d800e10..5874140 100644 --- a/lustre/kernel_patches/series/2.6-rhel6.series +++ b/lustre/kernel_patches/series/2.6-rhel6.series @@ -6,5 +6,4 @@ dev_read_only-2.6.32-rhel6.patch blkdev_tunables-2.6-rhel6.patch export-2.6.32-vanilla.patch jbd2-jcberr-2.6-rhel6.patch -fix-forever-in-do_get_write_access.patch bh_lru_size_config.patch diff --git a/lustre/kernel_patches/targets/2.6-rhel6.target.in b/lustre/kernel_patches/targets/2.6-rhel6.target.in index f1c8f6d..c8e9a1e 100644 --- a/lustre/kernel_patches/targets/2.6-rhel6.target.in +++ b/lustre/kernel_patches/targets/2.6-rhel6.target.in @@ -1,5 +1,5 @@ lnxmaj="2.6.32" -lnxrel="131.17.1.el6" +lnxrel="220.el6" KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm SERIES=2.6-rhel6.series diff --git a/lustre/kernel_patches/which_patch b/lustre/kernel_patches/which_patch index 31ce4c8..3ed7274 100644 --- a/lustre/kernel_patches/which_patch +++ b/lustre/kernel_patches/which_patch @@ -2,10 +2,10 @@ SERIES VERSION COMMENT SUPPORTED KERNELS: 2.6-rhel5 RHEL5: 2.6.18-238.19.1.el5 -2.6-rhel6 RHEL6: 2.6.32-131.17.1.el6 +2.6-rhel6 RHEL6: 2.6.32-220.el6 CLIENT SUPPORT FOR UNPATCHED KERNELS: 2.6.18-238.19.1.el5 (RHEL5) - 2.6.32-131.17.1.el6 (RHEL6) + 2.6.32-220.el6 (RHEL6) 2.6.16.60-0.69.1 (SLES10) 2.6.27.19-5 (SLES11) diff --git a/lustre/utils/obd.c b/lustre/utils/obd.c index 4965781..52e5e67 100644 --- a/lustre/utils/obd.c +++ b/lustre/utils/obd.c @@ -1173,11 +1173,9 @@ int jt_obd_md_common(int argc, char **argv, int cmd) { struct obd_ioctl_data data; struct timeval start; - struct timeval next_time; struct timeval end_time; char rawbuf[MAX_IOC_BUFLEN]; char *buf = rawbuf; - int verbose = 1; int mode = 0000644; int create_mode; int rc = 0; @@ -1270,7 +1268,7 @@ int jt_obd_md_common(int argc, char **argv, int cmd) case 't': seconds = strtoull(optarg, &end, 0); if (*end) { - fprintf(stderr, "error: %s: senconds '%s'\n", + fprintf(stderr, "error: %s: seconds '%s'\n", jt_cmdname(argv[0]), optarg); return CMD_HELP; } @@ -1281,10 +1279,11 @@ int jt_obd_md_common(int argc, char **argv, int cmd) case 'x': xattr_size = strtoul(optarg, &end, 0); if (*end) { - fprintf(stderr, "error: %s: senconds '%s'\n", + fprintf(stderr, "error: %s: xattr_size '%s'\n", jt_cmdname(argv[0]), optarg); return CMD_HELP; } + SET_BUT_UNUSED(xattr_size); break; default: fprintf(stderr, "error: %s: option '%s' " @@ -1404,8 +1403,6 @@ int jt_obd_md_common(int argc, char **argv, int cmd) data.ioc_command = cmd; gettimeofday(&start, NULL); - next_time.tv_sec = start.tv_sec - verbose; - next_time.tv_usec = start.tv_usec; while (shmem_running()) { struct lu_fid fid; -- 1.8.3.1