[PVFS2-CVS] commit by slang in pvfs2: CREDITS ChangeLog Makefile.in configure.in pvfs2-config.h.in acinclude.m4

CVS commit program cvs at parl.clemson.edu
Thu Aug 25 17:38:02 EDT 2005


Update of /projects/cvsroot/pvfs2
In directory parlweb:/tmp/cvs-serv7520

Modified Files:
      Tag: slang-event-changes-branch
	CREDITS ChangeLog Makefile.in configure.in pvfs2-config.h.in 
Removed Files:
      Tag: slang-event-changes-branch
	acinclude.m4 
Log Message:
updates to my event changes to bring them inline with trunk


Index: CREDITS
===================================================================
RCS file: /projects/cvsroot/pvfs2/CREDITS,v
diff -p -u -r1.18 -r1.18.4.1
--- CREDITS	3 Feb 2005 22:01:14 -0000	1.18
+++ CREDITS	25 Aug 2005 20:38:01 -0000	1.18.4.1
@@ -43,6 +43,16 @@ David Beilloin <dbeilloi at mc.com>
 -- contributed resource reclamation on some failure cases
 -- contributed strip size to pvfs2-cp
 
+Phil Carns and David Metheny
+- lots of cleanups to the VFS and system interfaces
+- contributed pvfs2-stat, pvfs2-ln, cleanups to pvfs2-mkdir and pvfs2-rm
+- cleanups to pvfs2-genconfig
+- config file enhancements
+- /sbin/mount.pvfs2 helper tool for 2.4 kernels
+- contributed support for /etc/mtab as an additional source for a pvfs2 tabfile
+  entry
+
+
 
 Other contributors
 ==================

Index: ChangeLog
===================================================================
RCS file: /projects/cvsroot/pvfs2/ChangeLog,v
diff -p -u -r1.160 -r1.160.2.1
--- ChangeLog	31 Mar 2005 19:16:16 -0000	1.160
+++ ChangeLog	25 Aug 2005 20:38:01 -0000	1.160.2.1
@@ -2,8 +2,45 @@
 PVFS2 Release ChangeLog
 -----------------------
 
+pvfs2-1.2.1-pre1
+===============
+- Murali Vilayannur contributed extened attribute support to the VFS interface
+- Murali and Dean Hildebrand also worked on implementing readv and writev in
+  the VFS interface
+- Phil Carns contributed logging improvements to pvfs2-client
+
+pvfs2-1.2.0
+===============
+- make server better able to handle bogus file names (David Metheny)
+- better casts for ppc64
+- even better configure tests for various berkely db features
+- documentation updates for Fedora 4 changes
+- extended attribute support (not available through VFS yet)
+- nightly build infrastructure now mostly in place
+- --enable-strict now works again
+- new utilities: pvfs2-touch, pvfs2-stat, pvfs2-ln
+- add additional write() checks to kernel module
+- hold st_nlink field at 1: keeping a true count is quite hard to do
+  correctly in a distributed environment
+- new distribution: "varstrip"j
+- better pvfs2 kernel module debugging interface (/proc/sys/pvfs2/debug)
+- pvfs2 now supports setgid 
+- build: avoid some warnings from gcc4
+- kernel: understand new backing_dev_info format in 2.6.12
+- Added DefaultNumDFiles as filesystem config option.
+- Added num_dfiles tabfile option.  i
+  The number of dfiles is set by searching for the first given hint in this
+  order:  application hints, tabfile, server config.  The selected 
+  distribution may modify the hint if neccesary.
+- Phil Carns contributed general improvements and bug fixes for the dotconf
+  parser.
+- Added DefaultDistribution section support for server config file.  Section
+  is optional and accepts Name, Param, and Value (Param and Value may be
+  repeated multiple times in the section).
+- added 'retry' and 'timeout' config file options
+- will consult /etc/mtab as an additional source for pvfs2 tabfile entries
 
-pvfs2-1.1.0pre1
+pvfs2-1.1.0
 ===============
 - network protocol: more 64-bit alignment fixes
 - build: hide karma details in its module.mk
@@ -22,7 +59,23 @@ pvfs2-1.1.0pre1
 - kernel: export superblock magic number for romio autodetection
 - 64-bit: change some protocol encodings to avoid unaligned accesses, fix
   server crash
-
+- documentation updates
+- Phil Carns and David Beilloin reported various memory leaks and memory
+  misuse throughout the code
+- Phil Carns and David Metheny contributed their improvment to the
+  permissions-checking routines.  Secondary groups work much better now.
+- configure-time options to select behavior needed on redhat-like environments
+- can disable server support at configure time
+- various tweaks to make cross compiling easier
+- Phil Carns contributed a new config file option (LogStamp) to select
+  timestamp format
+- By default we sync metadata (TroveSyncMeta yes) and not data (TroveSyncData
+  no).  This configuration is a good compromise between reliability and
+  performance for most workloads.
+- Joachim Worringen's noncontig benchmark turned up several bugs now addressed
+  in this release
+- bugfix where pvfs2-chmod would cause all future operations to fail
+- bugfix for 64 bit servers.  pvfs2 on opteron now passes the bonnie benchmark
 
 pvfs2-1.0.1
 ===========

Index: Makefile.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/Makefile.in,v
diff -p -u -r1.193 -r1.193.4.1
--- Makefile.in	24 Mar 2005 15:47:56 -0000	1.193
+++ Makefile.in	25 Aug 2005 20:38:01 -0000	1.193.4.1
@@ -76,6 +76,8 @@ QUIET_COMPILE = @QUIET_COMPILE@
 ifdef V
     QUIET_COMPILE = 0
 endif
+LINUX_KERNEL_SRC = @LINUX_KERNEL_SRC@
+LINUX24_KERNEL_SRC = @LINUX24_KERNEL_SRC@
 
 ifeq ($(QUIET_COMPILE),1)
   # say a one-line description of the action, do not echo the command
@@ -151,8 +153,6 @@ NPTL_WORKAROUND = @NPTL_WORKAROUND@
 CFLAGS += -D__STATIC_METHOD_BMI_TCP__
   # enable Flow debugging protocol
 #CFLAGS += -D__STATIC_FLOWPROTO_DUMP_OFFSETS__
-  # enable Flow BMI/Trove protocol
-#CFLAGS += -D__STATIC_FLOWPROTO_BMI_TROVE__
   # enable new style Flow BMI/Trove protocol
 CFLAGS += -D__STATIC_FLOWPROTO_MULTIQUEUE__
   # turn on large file support by default
@@ -443,18 +443,18 @@ kernapps: $(KERNAPPS)
 # Build linux-2.6 kernel module if requested.
 # Can't use the actual file target since we don't know how to figure out
 # dependencies---only the kernel source tree can do that.
-LINUX_KERNEL_SRC = @LINUX_KERNEL_SRC@
 ifneq (,$(LINUX_KERNEL_SRC))
 .PHONY: kmod
-kmod: kernapps
+kmod: just_kmod kernapps
+just_kmod:
 	@$(MAKE) --no-print-directory -C src/kernel/linux-2.6
 endif
 
 # Build linux-2.4 kernel module if requested.
-LINUX24_KERNEL_SRC = @LINUX24_KERNEL_SRC@
 ifneq (,$(LINUX24_KERNEL_SRC))
 .PHONY: kmod24
-kmod24: kernapps
+kmod24: just_kmod24 kernapps
+just_kmod24: 
 	@$(MAKE) --no-print-directory -C src/kernel/linux-2.4
 endif
 
@@ -781,10 +781,11 @@ ifeq ($(NUM_UTS_LINES),1)
 else
     KERNEL_VERS := $(shell uname -r)
 endif
-KMOD_DIR ?= /lib/modules/$(KERNEL_VERS)/kernel/fs
+KMOD_DIR ?= $(kmod_prefix)/lib/modules/$(KERNEL_VERS)/kernel/fs/pvfs2
 
 .PHONY: kmod_install
-kmod_install:
+kmod_install: kmod kernapps
+	install -d $(prefix)/sbin
 	install -m 755 $(KERNAPPS) $(prefix)/sbin
 	install -d $(KMOD_DIR)
 	install -m 755 src/kernel/linux-2.6/pvfs2.ko $(KMOD_DIR)
@@ -798,11 +799,17 @@ ifeq ($(NUM_UTS_LINES),1)
 else
     KERNEL_VERS := $(shell uname -r)
 endif
-KMOD_DIR := /lib/modules/$(KERNEL_VERS)/kernel/fs
+KMOD_DIR := $(kmod_prefix)/lib/modules/$(KERNEL_VERS)/kernel/fs/pvfs2
 
 .PHONY: kmod24_install
-kmod24_install:
+kmod24_install: kmod24 kernapps
+	install -d $(prefix)/sbin
 	install -m 755 $(KERNAPPS) $(prefix)/sbin
 	install -d $(KMOD_DIR)
 	install -m 755 src/kernel/linux-2.4/pvfs2.o $(KMOD_DIR)
+	install -m 755 src/apps/kernel/linux/mount.pvfs2 $(prefix)/sbin
+	@echo ""
+	@echo "For improved linux-2.4 support,"
+	@echo "install $(prefix)/sbin/mount.pvfs2 to /sbin/mount.pvfs2"
+	@echo ""
 endif

Index: configure.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/configure.in,v
diff -p -u -r1.228 -r1.228.2.1
--- configure.in	15 Apr 2005 17:52:13 -0000	1.228
+++ configure.in	25 Aug 2005 20:38:02 -0000	1.228.2.1
@@ -17,13 +17,11 @@ dnl PVFS2 versioning information.  
 dnl An @ in the date string can confuse e.g. scp and 'make kmod'
 CONFIGURE_TIME=`date -u +"%Y-%m-%d-%H%M%S"`
 PVFS2_MAJOR=1
-PVFS2_MINOR=1
-PVFS2_SUB=0
+PVFS2_MINOR=2
+PVFS2_SUB=1
 dnl PVFS2_PRE=""
 PVFS2_PRE="pre1-$CONFIGURE_TIME"
 
-AM_INIT_AUTOMAKE(pvfs2, $PVFS2_MAJOR.$PVFS2_MINOR.$PVFS2_SUB$PVFS2_PRE)
-
 PVFS2_VERSION=$PVFS2_MAJOR.$PVFS2_MINOR.$PVFS2_SUB$PVFS2_PRE
 AC_SUBST(PVFS2_VERSION)
 AC_DEFINE_UNQUOTED(PVFS2_VERSION_MAJOR, $PVFS2_MAJOR, major version number)
@@ -34,9 +32,22 @@ dnl Checks for host type
 dnl Ensures we can compile on this OS
 AC_CANONICAL_HOST
 
+USR_CFLAGS=$CFLAGS
+if test "x$USR_CFLAGS" = "x"; then
+	USR_CFLAGS_SET=no
+fi
+
 dnl Check for utilities that we need during the build process
 AC_PROG_INSTALL
 AC_PROG_CC
+
+AC_MSG_CHECKING([for required gcc])
+if test "x$GCC" = "x"; then
+	AC_MSG_ERROR(no)
+fi
+
+CFLAGS=$USR_CFLAGS
+
 AC_PROG_CPP
 AC_CHECK_PROG(HAVE_PERL, perl, yes, no)
 AC_CHECK_PROG(HAVE_FIND, find, yes, no)
@@ -342,9 +353,23 @@ AC_ARG_WITH(mpe,
            AC_MSG_ERROR(--with-mpe must be given a pathname)
     else
         CFLAGS="$CFLAGS -I$withval/include"
-       LDFLAGS="$LDFLAGS -L$withval/lib"
-       LIBS="$LIBS -lmpe -lmpich"
-       AC_DEFINE(HAVE_MPE, 1, [Use the MPE profiling library])
+        LDFLAGS="$LDFLAGS -L$withval/lib"
+        LIBS="$LIBS -lmpe -lmpich"
+        AC_MSG_CHECKING(for valid mpe install)
+	AC_TRY_LINK(
+              [#include <mpe.h>],
+	      [
+	      int eventID_begin, eventID_end;
+	      eventID_begin = MPE_Log_get_event_number();
+	      eventID_end   = MPE_Log_get_event_number();
+	      MPE_Describe_state( eventID_begin, eventID_end, "Amult", "bluegreen" );
+	      MPE_Log_event( eventID_begin, 0, (char *)0 );
+	      MPE_Log_event( eventID_end, 0, (char *)0 );
+	      ],
+	      [
+	      AC_DEFINE(HAVE_MPE, 1, [Use the MPE profiling library])
+	      AC_MSG_RESULT(ok)],
+	      AC_MSG_ERROR(Invalid path to mpe install))
     fi
 )
 
@@ -409,8 +434,14 @@ dnl currently it's a few functions that 
 dnl 2.6 into 2.4
 
 oldcflags=$CFLAGS
+if test -z "${LINUX_KERNEL_SRC}"  ; then
+	lk_src=${LINUX24_KERNEL_SRC}
+elif test -z "${LINUX24_KERNEL_SRC}"  ; then
+	lk_src=${LINUX_KERNEL_SRC}
+fi
+
 AC_MSG_CHECKING(for i_size_write in kernel)
-CFLAGS="$CFLAGS -Werror -I$LINUX24_KERNEL_SRC/include -I${LINUX_KERNEL_SRC}/include"
+CFLAGS="$USR_CFLAGS -I$lk_src/include -I$lk_src/include/asm-i386/mach-generic -I$lk_src/include/asm-i386/mach-default" 
 dnl if this test passes, the kernel does not have it
 dnl if this test fails, the kernel already defined it
 AC_TRY_COMPILE([
@@ -428,7 +459,7 @@ AC_TRY_COMPILE([
 )
 
 AC_MSG_CHECKING(for i_size_read in kernel)
-CFLAGS="$CFLAGS -Werror -I$LINUX24_KERNEL_SRC/include -I${LINUX_KERNEL_SRC}/include"
+CFLAGS="$USR_CFLAGS -I$lk_src/include -I$lk_src/include/asm-i386/mach-generic -I$lk_src/include/asm-i386/mach-default" 
 dnl if this test passes, the kernel does not have it
 dnl if this test fails, the kernel already defined it
 AC_TRY_COMPILE([
@@ -445,7 +476,7 @@ AC_TRY_COMPILE([
 )
 
 AC_MSG_CHECKING(for parent_ino in kernel)
-CFLAGS="$CFLAGS -Werror -I$LINUX24_KERNEL_SRC/include -I${LINUX_KERNEL_SRC}/include"
+CFLAGS="$USR_CFLAGS -I$lk_src/include -I$lk_src/include/asm-i386/mach-generic -I$lk_src/include/asm-i386/mach-default" 
 dnl if this test passes, the kernel does not have it
 dnl if this test fails, the kernel already defined it
 AC_TRY_COMPILE([
@@ -460,6 +491,40 @@ AC_TRY_COMPILE([
 	AC_MSG_RESULT(yes)
 	AC_DEFINE(HAVE_PARENT_INO, 1, Define if kernel has parent_ino),
 )
+
+dnl The name of this field changed from memory_backed to capabilities in 2.6.12.
+
+AC_MSG_CHECKING(for memory_backed in struct backing_dev_info in kernel)
+CFLAGS="$USR_CFLAGS -Wall -I$lk_src/include -I$lk_src/include/asm-i386/mach-generic -I$lk_src/include/asm-i386/mach-default" 
+AC_TRY_COMPILE([
+	#define __KERNEL__
+	#include <linux/mm.h>
+	#include <linux/backing-dev.h>
+	static struct backing_dev_info bdi = {
+	    .memory_backed = 0
+	};
+], [],
+	AC_MSG_RESULT(yes)
+	AC_DEFINE(HAVE_BDI_MEMORY_BACKED, 1, Define if struct backing_dev_info in kernel has memory_backed),
+	AC_MSG_RESULT(no)
+)
+
+AC_MSG_CHECKING(for xattr support in kernel)
+CFLAGS="$USR_CFLAGS -I$lk_src/include -I$lk_src/include/asm-i386/mach-generic -I$lk_src/include/asm-i386/mach-default" 
+dnl if this test passes, the kernel has it
+dnl if this test fails, the kernel does not have it
+AC_TRY_COMPILE([
+	#define __KERNEL__
+        #include <linux/fs.h>
+		  static struct inode_operations in_op = {
+			  .getxattr = NULL
+		  };
+], [],
+	AC_MSG_RESULT(yes)
+	AC_DEFINE(HAVE_XATTR, 1, Define if kernel has xattr support),
+	AC_MSG_RESULT(no)
+)
+
 CFLAGS=$oldcflags
 
 dnl PAV configuration needs absolute location of source and build.
@@ -479,8 +544,16 @@ AC_SUBST(SRC_ABSOLUTE_TOP)
 dnl More options
 AC_ARG_ENABLE(fast,
 [  --enable-fast           Disable optional debugging, enable optimizations.],
-CFLAGS="$CFLAGS -DNDEBUG -O3 -DGOSSIP_DISABLE_DEBUG",
-FLAGS=${CFLAGS:-"-g"}
+[
+if test "x$USR_CFLAGS_SET" = "xno"; then
+    CFLAGS="$CFLAGS -DNDEBUG -O3 -DGOSSIP_DISABLE_DEBUG"
+fi
+],
+[
+if test "x$USR_CFLAGS_SET" = "xno"; then
+    CFLAGS="$CFLAGS -g"
+fi
+]
 )
 
 dnl Options that are not yet working
@@ -500,7 +573,16 @@ AC_SUBST(ENABLE_COVERAGE)
 
 AC_ARG_ENABLE(strict,
 [  --enable-strict         Turn on strict debugging with gcc],
-CFLAGS="$CFLAGS -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wpointer-arith -Wbad-function-cast")
+[
+if test "x$USR_CFLAGS_SET" = "xno"; then
+    CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wpointer-arith -Wbad-function-cast"
+fi
+],
+[
+if test "x$USR_CFLAGS_SET" = "xno" && test "x$enable_fast" != "xyes"; then
+    CFLAGS="$CFLAGS -O2"
+fi
+])
 
 dnl Check if user actually wants to see all our build output (compiles, links, etc.).
 AC_ARG_ENABLE(verbose-build,
@@ -510,14 +592,31 @@ QUIET_COMPILE=1)
 
 AC_SUBST(QUIET_COMPILE)
 
+dnl
+dnl a function to check for epoll capabilities
+dnl
+test_for_epoll()
+{
+  AC_CHECK_HEADERS(sys/epoll.h)
+  AC_MSG_CHECKING(for epoll functions)
+  AC_TRY_LINK([#include <sys/epoll.h>], [
+	int fd;
+	fd = epoll_create(1);
+	close(fd);
+  ], AC_MSG_RESULT(yes)
+     CFLAGS="$CFLAGS -D__PVFS2_USE_EPOLL__"
+     BUILD_EPOLL=1
+     AC_SUBST(BUILD_EPOLL),
+  AC_MSG_RESULT(no))
+}
+
 dnl optionally enable use of epoll() on Linux instead of poll()
 AC_ARG_ENABLE(epoll,
 [  --enable-epoll          Enables use of epoll for TCP/IP polling],
-CFLAGS="$CFLAGS -D__PVFS2_USE_EPOLL__"
-BUILD_EPOLL="1"
-,)
-
-AC_SUBST(BUILD_EPOLL)
+[ if test "x$enableval" = "xyes" ; then
+      test_for_epoll
+  fi
+],)
 
 dnl enables a hack to print back traces out of segfault signal handler
 AC_ARG_ENABLE(segv-backtrace,
@@ -571,18 +670,38 @@ if test "x$NEED_BERKELEY_DB" = "xyes" ; 
     dnl
     AC_ARG_WITH(db,
            [  --with-db=<dir>         Location of installed DB package (default=/usr)],
-           LDFLAGS="${LDFLAGS} -L$withval/lib" CFLAGS="${CFLAGS} -I$withval/include")
+	   DB_LDFLAGS="-L${withval}/lib"
+	   DB_CFLAGS="-I${withval}/include"
+           LDFLAGS="${LDFLAGS} $DB_LDFLAGS"
+           CFLAGS="${CFLAGS} $DB_CFLAGS"
+           with_db_set=yes)
     
+    dnl 
+    dnl if the db is specified, try to link with -ldb
+    dnl otherwise try -ldb4, then -ldb3, then -ldb
+    dnl $lib set to notfound on link failure
+    dnl    
     AC_MSG_CHECKING([for db library])
     oldlibs=$LIBS
-    for lib in db4  db3  db  notfound; do
+    lib=notfound
+    if test "x$with_db_set" == "xyes" ; then
+        LIBS="${oldlibs} -ldb"
+        DB_LIB="-ldb"
+        AC_TRY_LINK(
+              [#include <db.h>],
+              [DB *dbp; db_create(&dbp, NULL, 0);],
+              lib=db)
+    else
+        for lib in db4  db3  db  notfound; do
            LIBS="${oldlibs} -l$lib"
            DB_LIB="-l$lib"
            AC_TRY_LINK(
                   [#include <db.h>],
                   [DB *dbp; db_create(&dbp, NULL, 0);],
                   [break])
-    done
+        done
+    fi
+
     dnl reset LIBS value and just report through DB_LIB
     LIBS=$oldlibs 
     if test "x$lib" == "xnotfound" ; then
@@ -613,7 +732,7 @@ if test "x$NEED_BERKELEY_DB" = "xyes" ; 
     dnl exactly the same).
     AC_MSG_CHECKING(for dbenv parameter to DB error callback function)
     oldcflags=$CFLAGS
-    CFLAGS="$CFLAGS -Werror"
+    CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
     AC_TRY_COMPILE([
     #include <db.h>
     
@@ -658,45 +777,51 @@ if test "x$NEED_BERKELEY_DB" = "xyes" ; 
         Define if third param (message) to DB error callback function is const))
     fi
     
-    CFLAGS=$oldcflags
-    
-    dnl Test to check for txnid parameter to DB stat (DB 4.3.xx+)
-    AC_MSG_CHECKING(for txnid parameter to DB stat function)
+    CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"    
+    dnl Test to check for unknown third param to DB stat (four params 
+    dnl total).  The unknown parameter is a function ptr so that the
+    dnl the user can pass in a replcaement for malloc.
+    dnl Note: this is a holdover from relatively old DB implementations,
+    dnl while the txnid parameter is new.  So we don't test for the old
+    dnl unknown parameter if we found the new one.
+    AC_MSG_CHECKING(for DB stat with malloc function ptr)
     AC_TRY_COMPILE([
-    #include <db.h>
-    ], [
-    int ret;
-    DB *db;
-    DB_TXN *txnid;
-    u_int32_t flags;
-    
-    ret = db->stat(db, txnid, NULL, flags);
-    ], AC_MSG_RESULT(yes)
-    AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_STAT, 1, 
-    Define if DB stat function takes txnid parameter)
-    have_txnid_param_to_stat=yes,
+      #include <db.h>
+      #include <stdlib.h>
+      ], [
+      int ret = 0;
+      DB *db = db;
+      int dummy = 0;
+      u_int32_t flags = 0;
+        
+      ret = db->stat(db, &dummy, malloc, flags);
+      ], AC_MSG_RESULT(yes)
+    AC_DEFINE(HAVE_UNKNOWN_PARAMETER_TO_DB_STAT, 1,
+    Define if DB stat function takes malloc function ptr)
+    have_db_stat_malloc=yes,
     AC_MSG_RESULT(no)
-    have_txnid_param_to_stat=no)
+    have_db_stat_malloc=no)
+
+    dnl Test to check for txnid parameter to DB stat (DB 4.3.xx+)
+    if test "x$have_db_stat_malloc" = "xno" ; then
     
-    if test "x$have_txnid_param_to_stat" = "xno" ; then
-        dnl Test to check for unknown third param to DB stat (four params total)
-        dnl Note: this is a holdover from relatively old DB implementations,
-        dnl while the txnid parameter is new.  So we don't test for the old
-        dnl unknown parameter if we found the new one.
+       AC_MSG_CHECKING(for txnid parameter to DB stat function)
+       AC_TRY_COMPILE([
+       #include <db.h>
+       ], [
+       int ret = 0;
+       DB *db = db;
+       DB_TXN *txnid = txnid;
+       u_int32_t flags = 0;
     
-        AC_MSG_CHECKING(for four-parameter DB stat)
-        AC_TRY_COMPILE([
-        #include <db.h>
-        ], [
-        int ret;
-        DB *db;
-        u_int32_t flags;
-        
-        ret = db->stat(db, NULL, NULL, flags);
+        ret = db->stat(db, txnid, NULL, flags);
         ], AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_UNKNOWN_PARAMETER_TO_DB_STAT, 1,
-        Define if DB stat function takes extra parameter),
-        AC_MSG_RESULT(no))
+        AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_STAT, 1, 
+        Define if DB stat function takes txnid parameter)
+        have_txnid_param_to_stat=yes,
+        AC_MSG_RESULT(no)
+        have_txnid_param_to_stat=no)
+    
     fi
     
     dnl Test to check for txnid parameter to DB open (DB4.1+)
@@ -728,13 +853,17 @@ if test "x$NEED_BERKELEY_DB" = "xyes" ; 
     ], AC_MSG_RESULT(yes)
     AC_DEFINE(HAVE_DB_DIRTY_READ, 1, [Define if db library has DB_DIRTY_READ flag]),
     AC_MSG_RESULT(no))
+    CFLAGS="$oldcflags"
 fi
-# end of NEED_BERKELEY_DB section
+dnl end of NEED_BERKELEY_DB section
 
 AC_CHECK_HEADERS(netdb.h)
 AC_CHECK_HEADERS(arpa/inet.h)
+AC_CHECK_HEADERS(sys/socket.h)
 dnl check for gethostbyname function
 AC_MSG_CHECKING(for gethostbyname)
+oldcflags="$CFLAGS"
+CFLAGS="$USR_CFLAGS"
 AC_TRY_COMPILE([
 #include <netdb.h>
 ], [
@@ -745,6 +874,19 @@ AC_DEFINE(HAVE_GETHOSTBYNAME, 1, Define 
 AC_MSG_RESULT(no)
 WARN_ABOUT_HOSTNAMES="yes")
 
+AC_MSG_CHECKING(for gethostbyaddr)
+AC_TRY_COMPILE([
+#include <netdb.h>
+], [
+struct sockaddr_in peer;
+gethostbyaddr((void *)&peer.sin_addr.s_addr, sizeof(struct in_addr), AF_INET);
+],
+AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_GETHOSTBYADDR, 1, Define if gethostbyaddr function exists),
+AC_MSG_RESULT(no)  )
+
+CFLAGS="$oldcflags"
+
 dnl configure options for GM install path
 GM_HOME=
 AC_ARG_WITH(gm,
@@ -910,6 +1052,12 @@ if test "x$BUILD_KARMA" = "x1" ; then
    AC_MSG_RESULT([PVFS2 configured to build karma gui               : yes])
 else
    AC_MSG_RESULT([PVFS2 configured to build karma gui               :  no])
+fi
+
+if test "x$BUILD_EPOLL" = "x1" ; then
+   AC_MSG_RESULT([PVFS2 configured to use epoll                     : yes])
+else
+   AC_MSG_RESULT([PVFS2 configured to use epoll                     :  no])
 fi
 
 if test "x$ENABLE_COVERAGE" = "x1" ; then

Index: pvfs2-config.h.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/pvfs2-config.h.in,v
diff -p -u -r1.45.4.1 -r1.45.4.2
--- pvfs2-config.h.in	3 Jun 2005 15:18:58 -0000	1.45.4.1
+++ pvfs2-config.h.in	25 Aug 2005 20:38:02 -0000	1.45.4.2
@@ -13,6 +13,9 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
+/* Define if struct backing_dev_info in kernel has memory_backed */
+#undef HAVE_BDI_MEMORY_BACKED
+
 /* Define if third param (message) to DB error callback function is const */
 #undef HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK
 
@@ -25,6 +28,9 @@
 /* Define to 1 if you have the <execinfo.h> header file. */
 #undef HAVE_EXECINFO_H
 
+/* Define if gethostbyaddr function exists */
+#undef HAVE_GETHOSTBYADDR
+
 /* Define if gethostbyname function exists */
 #undef HAVE_GETHOSTBYNAME
 
@@ -97,6 +103,12 @@
 /* Define if sysinfo.h is present */
 #undef HAVE_SYSINFO
 
+/* Define to 1 if you have the <sys/epoll.h> header file. */
+#undef HAVE_SYS_EPOLL_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
@@ -115,11 +127,11 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define if DB stat function takes extra parameter */
+/* Define if DB stat function takes malloc function ptr */
 #undef HAVE_UNKNOWN_PARAMETER_TO_DB_STAT
 
-/* Name of package */
-#undef PACKAGE
+/* Define if kernel has xattr support */
+#undef HAVE_XATTR
 
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
@@ -150,9 +162,6 @@
 
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
 
 /* Define if mtrace memory leak detection was enabled */
 #undef WITH_MTRACE

--- acinclude.m4	2005-08-25 16:38:03.000000000 -0400
+++ /dev/null	2003-01-30 05:24:37.000000000 -0500
@@ -1,172 +0,0 @@
-# Configure paths for SDL
-# Sam Lantinga 9/21/99
-# stolen from Manish Singh
-# stolen back from Frank Belew
-# stolen from Manish Singh
-# Shamelessly stolen from Owen Taylor
-
-dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
-dnl
-AC_DEFUN(AM_PATH_SDL,
-[dnl 
-dnl Get the cflags and libraries from the sdl-config script
-dnl
-AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
-            sdl_prefix="$withval", sdl_prefix="")
-AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
-            sdl_exec_prefix="$withval", sdl_exec_prefix="")
-AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
-		    , enable_sdltest=yes)
-
-  if test x$sdl_exec_prefix != x ; then
-     sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
-     if test x${SDL_CONFIG+set} != xset ; then
-        SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
-     fi
-  fi
-  if test x$sdl_prefix != x ; then
-     sdl_args="$sdl_args --prefix=$sdl_prefix"
-     if test x${SDL_CONFIG+set} != xset ; then
-        SDL_CONFIG=$sdl_prefix/bin/sdl-config
-     fi
-  fi
-
-  AC_REQUIRE([AC_CANONICAL_TARGET])
-  PATH="$prefix/bin:$prefix/usr/bin:$PATH"
-  AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
-  min_sdl_version=ifelse([$1], ,0.11.0,$1)
-  AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
-  no_sdl=""
-  if test "$SDL_CONFIG" = "no" ; then
-    no_sdl=yes
-  else
-    SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
-    SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
-
-    sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_sdltest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $SDL_CFLAGS"
-      LIBS="$LIBS $SDL_LIBS"
-dnl
-dnl Now check if the installed SDL is sufficiently new. (Also sanity
-dnl checks the results of sdl-config to some extent
-dnl
-      rm -f conf.sdltest
-      AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "SDL.h"
-
-char*
-my_strdup (char *str)
-{
-  char *new_str;
-  
-  if (str)
-    {
-      new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
-      strcpy (new_str, str);
-    }
-  else
-    new_str = NULL;
-  
-  return new_str;
-}
-
-int main (int argc, char *argv[])
-{
-  int major, minor, micro;
-  char *tmp_version;
-
-  /* This hangs on some systems (?)
-  system ("touch conf.sdltest");
-  */
-  { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
-
-  /* HP/UX 9 (%@#!) writes to sscanf strings */
-  tmp_version = my_strdup("$min_sdl_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_sdl_version");
-     exit(1);
-   }
-
-   if (($sdl_major_version > major) ||
-      (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
-      (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
-    {
-      return 0;
-    }
-  else
-    {
-      printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
-      printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
-      printf("*** best to upgrade to the required version.\n");
-      printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
-      printf("*** to point to the correct copy of sdl-config, and remove the file\n");
-      printf("*** config.cache before re-running configure\n");
-      return 1;
-    }
-}
-
-],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_sdl" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$SDL_CONFIG" = "no" ; then
-	:
-     else
-       if test -f conf.sdltest ; then
-        :
-       else
-          echo "*** Could not run SDL test program, checking why..."
-          CFLAGS="$CFLAGS $SDL_CFLAGS"
-          LIBS="$LIBS $SDL_LIBS"
-          AC_TRY_LINK([
-#include <stdio.h>
-#include "SDL.h"
-
-int main(int argc, char *argv[])
-{ return 0; }
-#undef  main
-#define main K_and_R_C_main
-],      [ return 0; ],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding SDL or finding the wrong"
-          echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-	  echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means SDL was incorrectly installed"
-          echo "*** or that you have moved SDL since it was installed. In the latter case, you"
-          echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     SDL_CFLAGS=""
-     SDL_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(SDL_CFLAGS)
-  AC_SUBST(SDL_LIBS)
-  rm -f conf.sdltest
-])



More information about the PVFS2-CVS mailing list