From: Bob Glossman Date: Thu, 17 Jul 2014 18:26:58 +0000 (-0700) Subject: LU-5363 kernel: kernel update [SLES11 SP3 3.0.101-0.35] X-Git-Tag: 2.6.52~52 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=3000a83dcd3c201f383c0507d33e7861fc695997;p=fs%2Flustre-release.git LU-5363 kernel: kernel update [SLES11 SP3 3.0.101-0.35] Update target and config files for new version. Create and use ll_d_count() wrapper to solve build problem caused by linux #include changes. Back out change from LU-4351 that skips sanity test 54c. Test-Parameters: mdsdistro=sles11sp3 ossdistro=sles11sp3 clientdistro=sles11sp3 mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs Signed-off-by: Bob Glossman Change-Id: Id12ab747c535d58f525467c2d0951ebf52056a1f Reviewed-on: http://review.whamcloud.com/11133 Reviewed-by: Patrick Farrell Tested-by: Jenkins Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 31fd274..eb5b890 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -4,10 +4,10 @@ TBD Intel Corporation for currently supported client and server kernel versions. * Server known to build on patched kernels: 2.6.32-431.23.3.el6 (RHEL6.5) - 3.0.101-0.31 (SLES11 SP3) + 3.0.101-0.35 (SLES11 SP3) * Client known to build on unpatched kernels: 2.6.32-431.23.3.el6 (RHEL6.5) - 3.0.101-0.31 (SLES11 SP3) + 3.0.101-0.35 (SLES11 SP3) 3.6.10-4.fc18 (FC18) 3.10 (kernel.org) * Recommended e2fsprogs version: 1.42.9.wc1 or newer diff --git a/lustre/include/linux/lustre_patchless_compat.h b/lustre/include/linux/lustre_patchless_compat.h index 5b7bab6..a673dee 100644 --- a/lustre/include/linux/lustre_patchless_compat.h +++ b/lustre/include/linux/lustre_patchless_compat.h @@ -95,9 +95,11 @@ truncate_complete_page(struct address_space *mapping, struct page *page) #ifdef HAVE_DCACHE_LOCK # define dget_dlock(d) dget_locked(d) -# define d_count(d) atomic_read(&(d)->d_count) -#elif !defined(HAVE_D_COUNT) -# define d_count(d) ((d)->d_count) +# define ll_d_count(d) atomic_read(&(d)->d_count) +#elif defined(HAVE_D_COUNT) +# define ll_d_count(d) d_count(d) +#else +# define ll_d_count(d) ((d)->d_count) #endif /* HAVE_DCACHE_LOCK */ #ifdef ATTR_OPEN diff --git a/lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11sp3-x86_64.config b/lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11sp3-x86_64.config index a2d04ec..afd2687 100644 --- a/lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11sp3-x86_64.config +++ b/lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11sp3-x86_64.config @@ -66,7 +66,7 @@ CONFIG_IRQ_WORK=y CONFIG_EXPERIMENTAL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" -CONFIG_LOCALVERSION="-0.31-default" +CONFIG_LOCALVERSION="-0.35-default" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y @@ -300,6 +300,7 @@ CONFIG_INLINE_WRITE_UNLOCK=y CONFIG_INLINE_WRITE_UNLOCK_IRQ=y # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set CONFIG_MUTEX_SPIN_ON_OWNER=y +# CONFIG_MUTEX_SPIN_USE_MCS_QUEUE is not set CONFIG_FREEZER=y # @@ -430,6 +431,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +# CONFIG_VMA_CACHE is not set CONFIG_CLEANCACHE=y # CONFIG_FRONTSWAP is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -1988,7 +1990,7 @@ 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_MAX_FC_SGE=256 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m @@ -2918,11 +2920,10 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=8 CONFIG_SERIAL_MAX3107=m # CONFIG_SERIAL_MRST_MAX3110 is not set # CONFIG_SERIAL_MFD_HSU is not set -CONFIG_SERIAL_UARTLITE=m CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m -CONFIG_SERIAL_TIMBERDALE=m +# CONFIG_SERIAL_TIMBERDALE is not set CONFIG_SERIAL_ALTERA_JTAGUART=m CONFIG_SERIAL_ALTERA_UART=m CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 @@ -3130,7 +3131,6 @@ CONFIG_GPIO_CS5535=m # CONFIG_GPIO_LANGWELL is not set CONFIG_GPIO_PCH=m CONFIG_GPIO_ML_IOH=m -# CONFIG_GPIO_TIMBERDALE is not set CONFIG_GPIO_RDC321X=m # @@ -3413,7 +3413,7 @@ CONFIG_MFD_MC13XXX=m # CONFIG_ABX500_CORE is not set CONFIG_EZX_PCAP=y CONFIG_MFD_CS5535=m -CONFIG_MFD_TIMBERDALE=m +# CONFIG_MFD_TIMBERDALE is not set CONFIG_LPC_SCH=m CONFIG_MFD_RDC321X=m CONFIG_MFD_JANZ_CMODIO=m @@ -3544,7 +3544,6 @@ CONFIG_VIDEO_SAA6588=m # # Video decoders # -CONFIG_VIDEO_ADV7180=m CONFIG_VIDEO_BT819=m CONFIG_VIDEO_BT856=m CONFIG_VIDEO_BT866=m @@ -3612,7 +3611,7 @@ CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_TIMBERDALE=m +# CONFIG_VIDEO_TIMBERDALE is not set CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m @@ -3724,12 +3723,11 @@ CONFIG_RADIO_SI4713=m CONFIG_USB_DSBR=m CONFIG_RADIO_SI470X=y CONFIG_USB_SI470X=m -CONFIG_I2C_SI470X=m +# CONFIG_I2C_SI470X is not set CONFIG_USB_MR800=m CONFIG_RADIO_TEA5764=m CONFIG_RADIO_SAA7706H=m CONFIG_RADIO_TEF6862=m -CONFIG_RADIO_TIMBERDALE=m CONFIG_RADIO_WL1273=m # @@ -4853,7 +4851,7 @@ CONFIG_DMADEVICES=y # CONFIG_INTEL_MID_DMAC=m CONFIG_INTEL_IOATDMA=m -CONFIG_TIMB_DMA=m +# CONFIG_TIMB_DMA is not set CONFIG_PCH_DMA=m CONFIG_DMA_ENGINE=y @@ -5900,6 +5898,8 @@ CONFIG_BINARY_PRINTF=y CONFIG_RAID6_PQ=m CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CMPXCHG_LOCKREF=y CONFIG_CRC_CCITT=m CONFIG_CRC16=m CONFIG_CRC_T10DIF=m diff --git a/lustre/kernel_patches/targets/3.0-sles11sp3.target.in b/lustre/kernel_patches/targets/3.0-sles11sp3.target.in index c3f313d..43fb869 100644 --- a/lustre/kernel_patches/targets/3.0-sles11sp3.target.in +++ b/lustre/kernel_patches/targets/3.0-sles11sp3.target.in @@ -1,6 +1,6 @@ lnxmaj="3.0" lnxmin=".101" -lnxrel="0.31" +lnxrel="0.35" # use this when there is an "RPM fix" which means that the name of the # (source) RPM has been updated but the version of the kernel inside the # RPM is not also updated diff --git a/lustre/kernel_patches/which_patch b/lustre/kernel_patches/which_patch index 7eb8f72..232ec32 100644 --- a/lustre/kernel_patches/which_patch +++ b/lustre/kernel_patches/which_patch @@ -14,6 +14,6 @@ Clients since 2.6.18 DO NOT need any patches. PATCH SERIES FOR SERVER KERNELS: 2.6-rhel6.series 2.6.32-431.23.3.el6 -3.0-sles11sp3.series 3.0.101-0.31 +3.0-sles11sp3.series 3.0.101-0.35 See lustre/ChangeLog for supported client kernel versions. diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c index 7243769..6838af2 100644 --- a/lustre/llite/dcache.c +++ b/lustre/llite/dcache.c @@ -114,7 +114,7 @@ static int ll_dcompare(struct dentry *parent, struct qstr *d_name, CDEBUG(D_DENTRY, "found name %.*s(%p) flags %#x refc %d\n", name->len, name->name, dentry, dentry->d_flags, - d_count(dentry)); + ll_d_count(dentry)); /* mountpoint is always valid */ if (d_mountpoint((struct dentry *)dentry)) @@ -178,10 +178,10 @@ static int ll_ddelete(HAVE_D_DELETE_CONST struct dentry *de) list_empty(&de->d_subdirs) ? "" : "subdirs"); #ifdef HAVE_DCACHE_LOCK - LASSERT(d_count(de) == 0); + LASSERT(ll_d_count(de) == 0); #else /* kernel >= 2.6.38 last refcount is decreased after this function. */ - LASSERT(d_count(de) == 1); + LASSERT(ll_d_count(de) == 1); #endif /* Disable this piece of code temproarily because this is called @@ -207,7 +207,7 @@ int ll_d_init(struct dentry *de) CDEBUG(D_DENTRY, "ldd on dentry %.*s (%p) parent %p inode %p refc %d\n", de->d_name.len, de->d_name.name, de, de->d_parent, de->d_inode, - d_count(de)); + ll_d_count(de)); if (de->d_fsdata == NULL) { struct ll_dentry_data *lld; diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h index 3e117c6..c00f986 100644 --- a/lustre/llite/llite_internal.h +++ b/lustre/llite/llite_internal.h @@ -1549,12 +1549,12 @@ static inline void d_lustre_invalidate(struct dentry *dentry, int nested) { CDEBUG(D_DENTRY, "invalidate dentry %.*s (%p) parent %p inode %p " "refc %d\n", dentry->d_name.len, dentry->d_name.name, dentry, - dentry->d_parent, dentry->d_inode, d_count(dentry)); + dentry->d_parent, dentry->d_inode, ll_d_count(dentry)); spin_lock_nested(&dentry->d_lock, nested ? DENTRY_D_LOCK_NESTED : DENTRY_D_LOCK_NORMAL); __d_lustre_invalidate(dentry); - if (d_count(dentry) == 0) + if (ll_d_count(dentry) == 0) __d_drop(dentry); spin_unlock(&dentry->d_lock); } diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index 8a307dd..135e77f 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -722,7 +722,7 @@ void lustre_dump_dentry(struct dentry *dentry, int recur) " flags=0x%x, fsdata=%p, %d subdirs\n", dentry, dentry->d_name.len, dentry->d_name.name, dentry->d_parent->d_name.len, dentry->d_parent->d_name.name, - dentry->d_parent, dentry->d_inode, d_count(dentry), + dentry->d_parent, dentry->d_inode, ll_d_count(dentry), dentry->d_flags, dentry->d_fsdata, subdirs); if (dentry->d_inode != NULL) ll_dump_inode(dentry->d_inode); diff --git a/lustre/llite/namei.c b/lustre/llite/namei.c index 7770a61..8d41c6b 100644 --- a/lustre/llite/namei.c +++ b/lustre/llite/namei.c @@ -439,7 +439,7 @@ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) iput(inode); CDEBUG(D_DENTRY, "Reuse dentry %p inode %p refc %d flags %#x\n", - new, new->d_inode, d_count(new), new->d_flags); + new, new->d_inode, ll_d_count(new), new->d_flags); return new; } } @@ -448,7 +448,7 @@ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) return ERR_PTR(rc); d_add(de, inode); CDEBUG(D_DENTRY, "Add dentry %p inode %p refc %d flags %#x\n", - de, de->d_inode, d_count(de), de->d_flags); + de, de->d_inode, ll_d_count(de), de->d_flags); return de; } diff --git a/lustre/ptlrpc/sec_ctx.c b/lustre/ptlrpc/sec_ctx.c index 34d1afc..431f4b3 100644 --- a/lustre/ptlrpc/sec_ctx.c +++ b/lustre/ptlrpc/sec_ctx.c @@ -53,8 +53,8 @@ void push_ctxt(struct lvfs_run_ctxt *save, struct lvfs_run_ctxt *new_ctx) OBD_SET_CTXT_MAGIC(save); save->fs = get_fs(); - LASSERT(d_count(current->fs->pwd.dentry)); - LASSERT(d_count(new_ctx->pwd)); + LASSERT(ll_d_count(current->fs->pwd.dentry)); + LASSERT(ll_d_count(new_ctx->pwd)); save->pwd = dget(current->fs->pwd.dentry); save->pwdmnt = mntget(current->fs->pwd.mnt); save->umask = current_umask(); diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 8a91ebd..fe5e72d 100644 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -16,23 +16,6 @@ ALWAYS_EXCEPT=" 42a 42b 42c 42d 45 51d 68b $SANITY_EXCE # bug number for skipped tests: LU-2036 ALWAYS_EXCEPT=" 76 $ALWAYS_EXCEPT" -is_sles11() # LU-4351 -{ - if [ -r /etc/SuSE-release ] - then - local vers=`grep VERSION /etc/SuSE-release | awk '{print $3}'` - if [ $vers -eq 11 ] - then - return 0 - fi - fi - return 1 -} - -if is_sles11; then # LU-4351 - ALWAYS_EXCEPT="$ALWAYS_EXCEPT 54c" -fi - SRCDIR=$(cd $(dirname $0); echo $PWD) export PATH=$PATH:/sbin