From e7bcca820b8c4d48b98c8578fafb9a823c490bb0 Mon Sep 17 00:00:00 2001 From: adilger Date: Sat, 28 Jun 2008 04:54:49 +0000 Subject: [PATCH] Branch HEAD Ensure all module symbols from ldiskfs and OFED are available. b=16112 i=brian i=shadow --- autoMakefile.am | 4 +++- build/autoconf/lustre-build-linux.m4 | 17 ++++++++++++++++- lnet/autoconf/lustre-lnet.m4 | 7 +++++-- lustre/autoconf/lustre-core.m4 | 16 ---------------- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am index bade975..6601397b 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -12,7 +12,9 @@ EXTRA_DIST += config.h.in if LDISKFS_ENABLED @SYMVERFILE@: @LDISKFS_DIR@/@SYMVERFILE@ - cp @LDISKFS_DIR@/@SYMVERFILE@ @SYMVERFILE@ + touch @SYMVERFILE@ + -grep -v ldiskfs @SYMVERFILE@ > @SYMVERFILE@.old + cat @SYMVERFILE@.old @LDISKFS_DIR@/@SYMVERFILE@ > @SYMVERFILE@ endif CSTK=/tmp/checkstack diff --git a/build/autoconf/lustre-build-linux.m4 b/build/autoconf/lustre-build-linux.m4 index e47efd8..9ce393e 100644 --- a/build/autoconf/lustre-build-linux.m4 +++ b/build/autoconf/lustre-build-linux.m4 @@ -230,6 +230,20 @@ LB_LINUX_TRY_COMPILE([],[],[ LB_LINUX_RELEASE ]) # end of LB_LINUX_PATH +# LB_LINUX_SYMVERFILE +# SLES 9 uses a different name for this file - unsure about vanilla kernels +# around this version, but it matters for servers only. +AC_DEFUN([LB_LINUX_SYMVERFILE], + [AC_MSG_CHECKING([name of module symbol version file]) + if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost ; then + SYMVERFILE=Modules.symvers + else + SYMVERFILE=Module.symvers + fi + AC_MSG_RESULT($SYMVERFILE) + AC_SUBST(SYMVERFILE) +]) + # # # LB_LINUX_MODPOST @@ -446,6 +460,7 @@ fi AC_DEFUN([LB_PROG_LINUX], [LB_LINUX_PATH LB_LINUX_ARCH +LB_LINUX_SYMVERFILE if test $LINUX_ARCH == "powerpc64"; then CFLAGS="$CFLAGS -m64" @@ -499,7 +514,7 @@ AC_DEFUN([LB_LINUX_CONDITIONALS], # or check AC_DEFUN([LB_CHECK_SYMBOL_EXPORT], [AC_MSG_CHECKING([if Linux was built with symbol $1 is exported]) -grep -q -E '[[[:space:]]]$1[[[:space:]]]' $LINUX/Module.symvers 2>/dev/null +grep -q -E '[[[:space:]]]$1[[[:space:]]]' $LINUX/$SYMVERFILE 2>/dev/null rc=$? if test $rc -ne 0; then export=0 diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index 7558caa..3443063 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -520,8 +520,11 @@ else # we know at this point that the found OFED source is good if test \( $ENABLEO2IB = 3 \); then if test \( -f $O2IBPATH/Module.symvers \); then - AC_MSG_NOTICE([adding $O2IBPATH/Module.symvers to $PWD/Module.symvers]) - cat $O2IBPATH/Module.symvers >> $PWD/Module.symvers + AC_MSG_NOTICE([adding $O2IBPATH/Module.symvers to $PWD/$SYMVERFILE]) + # strip out the existing symbols versions first + touch $O2IBPATH/Module.symvers + egrep -v $(echo $(awk '{ print $2 }' $O2IBPATH/Module.symvers) | tr ' ' '|') $PWD/$SYMVERFILE > $PWD/$SYMVERFILE.old + cat $PWD/$SYMVERFILE.old $O2IBPATH/Module.symvers > $PWD/$SYMVERFILE else AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there]) fi diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 493a35a..4ba3d8a 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -878,19 +878,6 @@ LB_LINUX_TRY_COMPILE([ ]) ]) -# LC_SYMVERFILE -# SLES 9 uses a different name for this file - unsure about vanilla kernels -# around this version, but it matters for servers only. -AC_DEFUN([LC_SYMVERFILE], - [AC_MSG_CHECKING([name of symverfile]) - if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost ; then - SYMVERFILE=Modules.symvers - else - SYMVERFILE=Module.symvers - fi - AC_MSG_RESULT($SYMVERFILE) - AC_SUBST(SYMVERFILE)]) - # LC_DQUOTOFF_MUTEX # after 2.6.17 dquote use mutex instead if semaphore AC_DEFUN([LC_DQUOTOFF_MUTEX], @@ -1537,9 +1524,6 @@ AC_DEFUN([LC_PROG_LINUX], # 2.6.15 LC_INODE_I_MUTEX - # SLES 10 (at least) - LC_SYMVERFILE - # 2.6.17 LC_DQUOTOFF_MUTEX -- 1.8.3.1