Whamcloud - gitweb
LU-5363 kernel: kernel update [SLES11 SP3 3.0.101-0.35] 33/11133/7
authorBob Glossman <bob.glossman@intel.com>
Thu, 17 Jul 2014 18:26:58 +0000 (11:26 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 18 Aug 2014 17:06:21 +0000 (17:06 +0000)
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 <bob.glossman@intel.com>
Change-Id: Id12ab747c535d58f525467c2d0951ebf52056a1f
Reviewed-on: http://review.whamcloud.com/11133
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ChangeLog
lustre/include/linux/lustre_patchless_compat.h
lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11sp3-x86_64.config
lustre/kernel_patches/targets/3.0-sles11sp3.target.in
lustre/kernel_patches/which_patch
lustre/llite/dcache.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/ptlrpc/sec_ctx.c
lustre/tests/sanity.sh

index 31fd274..eb5b890 100644 (file)
@@ -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)
          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)
        * 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
          3.6.10-4.fc18       (FC18)
          3.10                (kernel.org)
        * Recommended e2fsprogs version: 1.42.9.wc1 or newer
index 5b7bab6..a673dee 100644 (file)
@@ -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)
 
 #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
 #endif /* HAVE_DCACHE_LOCK */
 
 #ifdef ATTR_OPEN
index a2d04ec..afd2687 100644 (file)
@@ -66,7 +66,7 @@ CONFIG_IRQ_WORK=y
 CONFIG_EXPERIMENTAL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
 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
 # 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_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
 
 #
 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_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
 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_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
 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_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_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
 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_LANGWELL is not set
 CONFIG_GPIO_PCH=m
 CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
 CONFIG_GPIO_RDC321X=m
 
 #
 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_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
 CONFIG_LPC_SCH=m
 CONFIG_MFD_RDC321X=m
 CONFIG_MFD_JANZ_CMODIO=m
@@ -3544,7 +3544,6 @@ CONFIG_VIDEO_SAA6588=m
 #
 # Video decoders
 #
 #
 # Video decoders
 #
-CONFIG_VIDEO_ADV7180=m
 CONFIG_VIDEO_BT819=m
 CONFIG_VIDEO_BT856=m
 CONFIG_VIDEO_BT866=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_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
 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_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_USB_MR800=m
 CONFIG_RADIO_TEA5764=m
 CONFIG_RADIO_SAA7706H=m
 CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
 CONFIG_RADIO_WL1273=m
 
 #
 CONFIG_RADIO_WL1273=m
 
 #
@@ -4853,7 +4851,7 @@ CONFIG_DMADEVICES=y
 #
 CONFIG_INTEL_MID_DMAC=m
 CONFIG_INTEL_IOATDMA=m
 #
 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
 
 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_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
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=m
 CONFIG_CRC_T10DIF=m
index c3f313d..43fb869 100644 (file)
@@ -1,6 +1,6 @@
 lnxmaj="3.0"
 lnxmin=".101"
 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
 # 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
index 7eb8f72..232ec32 100644 (file)
@@ -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
 
 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.
 
 See lustre/ChangeLog for supported client kernel versions.
index 7243769..6838af2 100644 (file)
@@ -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,
 
        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))
 
        /* 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
               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. */
 #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
 #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,
 
        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;
 
        if (de->d_fsdata == NULL) {
                struct ll_dentry_data *lld;
index 3e117c6..c00f986 100644 (file)
@@ -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,
 {
        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);
 
        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);
 }
                __d_drop(dentry);
        spin_unlock(&dentry->d_lock);
 }
index 8a307dd..135e77f 100644 (file)
@@ -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,
                " 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);
                dentry->d_flags, dentry->d_fsdata, subdirs);
         if (dentry->d_inode != NULL)
                 ll_dump_inode(dentry->d_inode);
index 7770a61..8d41c6b 100644 (file)
@@ -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",
                        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;
                }
        }
                        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",
                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;
 }
 
         return de;
 }
 
index 34d1afc..431f4b3 100644 (file)
@@ -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();
        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();
        save->pwd = dget(current->fs->pwd.dentry);
        save->pwdmnt = mntget(current->fs->pwd.mnt);
        save->umask = current_umask();
index 8a91ebd..fe5e72d 100644 (file)
@@ -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"
 
 # 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
 
 SRCDIR=$(cd $(dirname $0); echo $PWD)
 export PATH=$PATH:/sbin