a658956
diff -up nfs-utils-1.2.1/configure.ac.orig nfs-utils-1.2.1/configure.ac
a658956
--- nfs-utils-1.2.1/configure.ac.orig	2010-01-13 17:23:17.089961251 -0500
a658956
+++ nfs-utils-1.2.1/configure.ac	2010-01-13 17:24:00.144003829 -0500
a658956
@@ -22,6 +22,14 @@ AC_ARG_WITH(statedir,
a658956
 	statedir=$withval,
a658956
 	statedir=/var/lib/nfs)
a658956
 	AC_SUBST(statedir)
a658956
+AC_ARG_WITH(statdpath,
a658956
+	[AC_HELP_STRING([--with-statdpath=/foo],
a658956
+		[Causes statd put it's state file in /foo instead of statedir]
a658956
+	)],
a658956
+	statdpath=$withval,
a658956
+	statdpath=""
a658956
+	)
a658956
+	AC_SUBST(statdpath)
a658956
 AC_ARG_WITH(statduser,
a658956
 	[AC_HELP_STRING([--with-statduser=rpcuser],
a658956
                         [statd to run under @<:@rpcuser or nobody@:>@]
a658956
@@ -347,6 +355,9 @@ dnl ************************************
a658956
 dnl Export some path names to config.h
a658956
 dnl *************************************************************
a658956
 AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!])
a658956
+if test "$statdpath" != ""; then
a658956
+		AC_DEFINE_UNQUOTED(NSM_STATD_PATH, "$statdpath", [Define this if you what statd file placed in somewhere other than NFS_STATEDIR])
a658956
+fi
a658956
 
a658956
 if test "x$cross_compiling" = "xno"; then
a658956
 	CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
a658956
diff -up nfs-utils-1.2.1/support/nsm/file.c.orig nfs-utils-1.2.1/support/nsm/file.c
a658956
--- nfs-utils-1.2.1/support/nsm/file.c.orig	2010-01-13 17:23:17.099961228 -0500
a658956
+++ nfs-utils-1.2.1/support/nsm/file.c	2010-01-13 17:26:44.476815932 -0500
a658956
@@ -91,12 +91,13 @@
a658956
 #define NSM_KERNEL_STATE_FILE	"/proc/sys/fs/nfs/nsm_local_state"
a658956
 
a658956
 /*
a658956
- * Some distributions place statd's files in a subdirectory
a658956
+ * Allow different places for statd's files
a658956
  */
a658956
-#define NSM_PATH_EXTENSION
a658956
-/* #define NSM_PATH_EXTENSION	"/statd" */
a658956
-
a658956
-#define NSM_DEFAULT_STATEDIR		NFS_STATEDIR NSM_PATH_EXTENSION
a658956
+#ifdef NSM_STATD_PATH
a658956
+#define NSM_DEFAULT_STATEDIR		NSM_STATD_PATH
a658956
+#else
a658956
+#define NSM_DEFAULT_STATEDIR		NFS_STATEDIR 
a658956
+#endif
a658956
 
a658956
 static char nsm_base_dirname[PATH_MAX] = NSM_DEFAULT_STATEDIR;
a658956
 
a658956
diff -up nfs-utils-1.2.1/utils/statd/statd.man.orig nfs-utils-1.2.1/utils/statd/statd.man
a658956
--- nfs-utils-1.2.1/utils/statd/statd.man.orig	2009-11-04 06:13:56.000000000 -0500
a658956
+++ nfs-utils-1.2.1/utils/statd/statd.man	2010-01-13 17:23:41.110003469 -0500
a658956
@@ -24,7 +24,7 @@ reboots.
a658956
 For each NFS client or server machine to be monitored,
a658956
 .B rpc.statd
a658956
 creates a file in
a658956
-.BR /var/lib/nfs/sm .
a658956
+.BR /var/lib/nfs/statd/sm .
a658956
 When starting, it normally runs
a658956
 .B sm-notify
a658956
 to iterate through these files and notify the
a658956
@@ -176,11 +176,11 @@ and send notifications to clients. This 
a658956
 of an NFS export from another server.
a658956
 
a658956
 .SH FILES
a658956
-.BR /var/lib/nfs/state
a658956
+.BR /var/lib/nfs/statd/sm/state
a658956
 .br
a658956
-.BR /var/lib/nfs/sm/*
a658956
+.BR /var/lib/nfs/statd/sm/*
a658956
 .br
a658956
-.BR /var/lib/nfs/sm.bak/*
a658956
+.BR /var/lib/nfs/statd/sm.bak/*
a658956
 .SH SEE ALSO
a658956
 .BR rpc.nfsd(8),
a658956
 .BR portmap(8)