Hi,

I recently finished an exercise of building PVFS2 from source for a few
different kernels.  The following are changes I ended up with.  A copy
of this note is included as a compressed attachment should it be
mangled in transit.

==

1) Recent kernels store UTS_RELEASE in <linux/utsrelease.h>, not
   <linux/version.h>.  The following works for both cases.


diff -aNpru pvfs-2.6.3/Makefile.in devel/Makefile.in
--- pvfs-2.6.3/Makefile.in      2007-04-09 08:54:37.000000000 -0600
+++ devel/Makefile.in   2007-04-26 07:36:24.000000000 -0600
@@ -873,9 +873,9 @@ endif
 
 ifneq (,$(LINUX_KERNEL_SRC))
 
-NUM_UTS_LINES := $(shell grep -c UTS_RELEASE 
$(LINUX_KERNEL_SRC)/include/linux/version.h)
-ifeq ($(NUM_UTS_LINES),1)
-    KERNEL_VERS := $(shell grep UTS_RELEASE 
$(LINUX_KERNEL_SRC)/include/linux/version.h | cut -d\" -f2)
+UTS_LINE := $(shell grep UTS_RELEASE $(LINUX_KERNEL_SRC)/include/linux/*.h | 
grep define)
+ifneq (,$(UTS_LINE))
+    KERNEL_VERS := $(shell grep UTS_RELEASE 
$(LINUX_KERNEL_SRC)/include/linux/*.h | grep define | cut -d\" -f2)
 else
     KERNEL_VERS := $(shell uname -r)
 endif

==

2) As currently coded, the check for whether or not the kernel declares a
   struct kmem_cache, can never fail.  This replaces that check with
   one that works for older kernels that don't declare a struct
   kmem_cache.


diff -aNpru pvfs-2.6.3/maint/config/kernel.m4 devel/maint/config/kernel.m4
--- pvfs-2.6.3/maint/config/kernel.m4   2007-04-09 08:54:37.000000000 -0600
+++ devel/maint/config/kernel.m4        2007-04-26 08:30:29.000000000 -0600
@@ -114,15 +114,12 @@ AC_DEFUN([AX_KERNEL_FEATURES],
 
        dnl 2.6.20 deprecated kmem_cache_t
        AC_MSG_CHECKING(for struct kmem_cache in kernel)
-       AC_TRY_COMPILE([
-               #define __KERNEL__
-               #include <linux/slab.h>
-               static struct kmem_cache;
-       ], [],
+       if test "`grep 'struct kmem_cache ' $lk_src/include/linux/slab.h`"; then
                AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_STRUCT_KMEM_CACHE, 1, Define if struct 
kmem_cache is defined in kernel),
+               AC_DEFINE(HAVE_STRUCT_KMEM_CACHE, 1, Define if struct 
kmem_cache is defined in kernel)
+       else
                AC_MSG_RESULT(no)
-       )
+       fi
 
        dnl 2.6.20 removed SLAB_KERNEL.  Need to use GFP_KERNEL instead
        AC_MSG_CHECKING(for SLAB_KERNEL flag in kernel)

==

3) statecomp should unlink its output file before attempting to
   overwrite it.  This allows for building PVFS2 in a shadow tree and
   leave the base tree it points to untouched.


diff -aNpru pvfs-2.6.3/src/common/statecomp/statecomp.c 
devel/src/common/statecomp/statecomp.c
--- pvfs-2.6.3/src/common/statecomp/statecomp.c 2007-04-09 08:54:37.000000000 
-0600
+++ devel/src/common/statecomp/statecomp.c      2007-04-26 08:20:08.000000000 
-0600
@@ -139,6 +139,7 @@ static void parse_args(int argc, char **
        strcpy (file_name, argv[optind]);
        file_name[file_name_size-3] = 'c';
        file_name[file_name_size-2] = 0;
+       unlink(file_name);
        /* open output file */
        if (!(out_file = fopen(file_name, "w")))
        {
@@ -149,6 +150,7 @@ static void parse_args(int argc, char **
        free(file_name);
     }
     else {
+       unlink(argv[optind+1]);
        if (!(out_file = fopen(argv[optind+1], "w")))
        {
            /* error opening output file */

==

Thanks.

Marc.

+----------------------------------+----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310          |
|  Academic Information and        |  fax:    1-780-492-1729          |
|    Communications Technologies   |  email:  [EMAIL PROTECTED]         |
|  352 General Services Building   +----------------------------------+
|  University of Alberta           |                                  |
|  Edmonton, Alberta               |    Standard disclaimers apply    |
|  T6G 2H1                         |                                  |
|  CANADA                          |                                  |
+----------------------------------+----------------------------------+
XFree86 developer and VP.  ATI driver and X server internals.

Attachment: pvfs-2.6.3.udiff.gz
Description: Binary data

_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to