Index: pvfs2-config.h.in =================================================================== RCS file: /projects/cvsroot/pvfs2/pvfs2-config.h.in,v diff -u -N -r1.111 -r1.112 --- pvfs2-config.h.in 5 Nov 2007 21:07:54 -0000 1.111 +++ pvfs2-config.h.in 7 Dec 2007 23:05:56 -0000 1.112 @@ -198,6 +198,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H +/* Define if kernel defines mapping_nrpages macro -- defined by RT linux */ +#undef HAVE_MAPPING_NRPAGES_MACRO + /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H @@ -258,6 +261,10 @@ /* Define if kernel has register_ioctl32_conversion */ #undef HAVE_REGISTER_IOCTL32_CONVERSION +/* Define if kernel address_space struct has a spin_lock for private data + instead of rw_lock -- used by RT linux */ +#undef HAVE_RT_PRIV_LOCK_ADDR_SPACE_STRUCT + /* Define to 1 if you have the header file. */ #undef HAVE_SDL_SDL_TTF_H @@ -273,6 +280,9 @@ /* Define if SLAB_KERNEL is defined in kernel */ #undef HAVE_SLAB_KERNEL +/* Define if kernel address_space struct has a spin_lock instead of rw_lock */ +#undef HAVE_SPIN_LOCK_ADDR_SPACE_STRUCT + /* Define if struct super_operations in kernel has statfs_lite callback */ #undef HAVE_STATFS_LITE_SUPER_OPERATIONS Index: maint/config/kernel.m4 =================================================================== RCS file: /projects/cvsroot/pvfs2/maint/config/kernel.m4,v diff -u -N -r1.46 -r1.47 --- maint/config/kernel.m4 6 Nov 2007 16:29:52 -0000 1.46 +++ maint/config/kernel.m4 7 Dec 2007 23:05:56 -0000 1.47 @@ -849,5 +849,44 @@ AC_MSG_RESULT(no) ) + AC_MSG_CHECKING(if kernel address_space struct has a spin_lock field) + AC_TRY_COMPILE([ + #define __KERNEL__ + #include + ], [ + struct address_space as; + spin_lock(&as.page_lock); + ], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SPIN_LOCK_ADDR_SPACE_STRUCT, 1, [Define if kernel address_space struct has a spin_lock instead of rw_lock]), + AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING(if kernel address_space struct has a priv_lock field - from RT linux) + AC_TRY_COMPILE([ + #define __KERNEL__ + #include + ], [ + struct address_space as; + spin_lock(&as.priv_lock); + ], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RT_PRIV_LOCK_ADDR_SPACE_STRUCT, 1, [Define if kernel address_space struct has a spin_lock for private data instead of rw_lock -- used by RT linux]), + AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING(if kernel defines mapping_nrpages macro - from RT linux) + AC_TRY_COMPILE([ + #define __KERNEL__ + #include + ], [ + struct address_space idata; + int i = mapping_nrpages(&idata); + ], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MAPPING_NRPAGES_MACRO, 1, [Define if kernel defines mapping_nrpages macro -- defined by RT linux]), + AC_MSG_RESULT(no) + ) + CFLAGS=$oldcflags ])