Update RHEL6.2 kernel to 2.6.32-220.4.2(client).
Signed-off-by: yang sheng <ys@whamcloud.com>
Change-Id: I654d8d56b14196acf8d27b31a5af8c34812d8b99
Reviewed-on: http://review.whamcloud.com/2171
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
# LN_CONFIG_O2IB
#
AC_DEFUN([LN_CONFIG_O2IB],[
+
AC_MSG_CHECKING([whether to enable OpenIB gen2 support])
# set default
AC_ARG_WITH([o2ib],
struct ib_pool_fmr pool_fmr;
enum ib_cm_rej_reason rej_reason;
- cm_id = rdma_create_id(NULL, NULL, RDMA_PS_TCP);
- return PTR_ERR(cm_id);
+ rdma_destroy_id(NULL);
],[
AC_MSG_RESULT([yes])
O2IBLND="o2iblnd"
AC_SUBST(EXTRA_LNET_INCLUDE)
AC_SUBST(O2IBCPPFLAGS)
AC_SUBST(O2IBLND)
+
+# In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument
+if test $ENABLEO2IB -ne 0; then
+ AC_MSG_CHECKING([if rdma_create_id wants four args])
+ LB_LINUX_TRY_COMPILE([
+ #include <rdma/rdma_cm.h>
+ ],[
+ rdma_create_id(NULL, NULL, 0, 0);
+ ],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_RDMA_CREATE_ID_4ARG, 1,
+ [rdma_create_id wants 4 args])
+ ],[
+ AC_MSG_RESULT([no])
+ ])
+fi
])
#
ibdev->ibd_ifip = ip;
strcpy(&ibdev->ibd_ifname[0], ifname);
- id = rdma_create_id(kiblnd_cm_callback, ibdev, RDMA_PS_TCP);
+ id = kiblnd_rdma_create_id(kiblnd_cm_callback, ibdev,
+ RDMA_PS_TCP, IB_QPT_RC);
if (IS_ERR(id)) {
CERROR("Can't create listen ID: %ld\n", PTR_ERR(id));
goto failed;
IBLND_CREDIT_HIGHWATER_V1 : \
*kiblnd_tunables.kib_peercredits_hiw) /* when eagerly to return credits */
+#ifdef HAVE_RDMA_CREATE_ID_4ARG
+#define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, ps, qpt)
+#else
+#define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, ps)
+#endif
+
static inline int
kiblnd_concurrent_sends_v1(void)
{
LASSERT (net != NULL);
LASSERT (peer->ibp_connecting > 0);
- cmid = rdma_create_id(kiblnd_cm_callback, peer, RDMA_PS_TCP);
+ cmid = kiblnd_rdma_create_id(kiblnd_cm_callback, peer, RDMA_PS_TCP,
+ IB_QPT_RC);
+
if (IS_ERR(cmid)) {
CERROR("Can't create CMID for %s: %ld\n",
libcfs_nid2str(peer->ibp_nid), PTR_ERR(cmid));
* version 1.8.8-wc1
* Support for kernels:
2.6.18-274.3.1.el5 (RHEL 5)
- 2.6.32-131.12.1.el6 (RHEL 6) - patchless client only
+ 2.6.32-220.4.2.el6 (RHEL 6) - patchless client only
* Recommended e2fsprogs version: 1.41.90.wc3
See http://wiki.whamcloud.com/display/PUB/Changelog+1.8 for more information.
+Severity : enhancement
+Jira : LU-1116
+Description: Add patchless client support for RHEL6.2.
+
-------------------------------------------------------------------------------
2011-10-31 Whamcloud, Inc.
#
# LC_STATFS_DENTRY_PARAM
-# starting from 2.6.18 linux kernel uses dentry instead of
-# super_block for first vfs_statfs argument
+# starting from 2.6.18 linux kernel uses dentry instead of super_block
+# for the first parameter of the super_operations->statfs() callback.
#
AC_DEFUN([LC_STATFS_DENTRY_PARAM],
-[AC_MSG_CHECKING([first vfs_statfs parameter is dentry])
+[AC_MSG_CHECKING([if super_ops.statfs() first parameter is dentry])
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
LB_LINUX_TRY_COMPILE([
#include <linux/fs.h>
],[
- int vfs_statfs(struct dentry *, struct kstatfs *);
+ ((struct super_operations *)0)->statfs((struct dentry *)0, (struct kstatfs*)0);
],[
AC_DEFINE(HAVE_STATFS_DENTRY_PARAM, 1,
- [first parameter of vfs_statfs is dentry])
+ [super_ops.statfs() first parameter is dentry])
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
+EXTRA_KCFLAGS="$tmp_flags"
])
#
lnxmaj="2.6.32"
-lnxrel="131.12.1.el6"
+lnxrel="220.4.2.el6"
KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm
EXTRA_VERSION=${lnxrel}_lustre.@VERSION@
}
}
-static int round_up(int val)
+static int l_round_up(int val)
{
int ret = 1;
while (val) {
rc = lustre_msg_size(class_exp2cliimp(exp)->imp_msg_magic,
bufcount, size);
if (rc & (rc - 1))
- size[bufcount - 1] = min(size[bufcount - 1] + round_up(rc) - rc,
- (__u32)obddev->u.cli.cl_max_mds_easize);
+ size[bufcount - 1] = min(size[bufcount - 1] +
+ l_round_up(rc) - rc,
+ (__u32)obddev->u.cli.cl_max_mds_easize);
/* If inode is known, cancel conflicting OPEN locks. */
if (data->fid2.id) {