Skip to contentSkip to conversation

statd: Decouple statd's state directory from the NFS state directory

PATCH In review Steve Dickson 2 participants 3 messages Sep 20, 2011 – Sep 21, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 statd: Decouple statd's state directory from the NFS state directory

To allow greater flexibility to where statd's state is kept, statd's state path can now be decoupled from the normal NFS state directory.

In configure.ac, the NSM_STATD_PATH definition will now define the path to where the state information is kept. The default value, /var/lib/nfs, can be redefined with the --with-statdpath flag.

---
 configure.ac       |    9 +++++++++
 support/nsm/file.c |    8 --------
 2 files changed, 9 insertions(+), 8 deletions(-)
configure.ac +9 -0
index b5934c4..500172b 100644
@@ -23,6 +23,14 @@ AC_ARG_WITH(statedir,
 	statedir=$withval,
 	statedir=/var/lib/nfs)
 	AC_SUBST(statedir)
+AC_ARG_WITH(statdpath,
+	[AC_HELP_STRING([--with-statdpath=/foo @<:@default=/var/lib/nfs@:>@],
+		[define statd's state dir as /foo instead of the NFS statedir]
+	)],
+	statdpath=$withval,
+	statdpath=$statedir
+	)
+	AC_SUBST(statdpath)
 AC_ARG_WITH(statduser,
 	[AC_HELP_STRING([--with-statduser=rpcuser],
                         [statd to run under @<:@rpcuser or nobody@:>@]
@@ -387,6 +395,7 @@ dnl *************************************************************
 dnl Export some path names to config.h
 dnl *************************************************************
 AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!])
+AC_DEFINE_UNQUOTED(NSM_DEFAULT_STATEDIR, "$statdpath", [Define this to the pathname where statd keeps its state file])
 
 if test "x$cross_compiling" = "xno"; then
 	CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
support/nsm/file.c +0 -8
index a12c753..5dd52c1 100644
@@ -94,14 +94,6 @@
 
 #define NSM_KERNEL_STATE_FILE	"/proc/sys/fs/nfs/nsm_local_state"
 
-/*
- * Some distributions place statd's files in a subdirectory
- */
-#define NSM_PATH_EXTENSION
-/* #define NSM_PATH_EXTENSION	"/statd" */
-
-#define NSM_DEFAULT_STATEDIR		NFS_STATEDIR NSM_PATH_EXTENSION
-
 static char nsm_base_dirname[PATH_MAX] = NSM_DEFAULT_STATEDIR;
 
 #define NSM_MONITOR_DIR	"sm"
Signature · 1 line
1.7.6.2
Reviewed-by on v2 1/1
#1 lore raw
Quoted 5 lines · Steve Dickson

To allow greater flexibility to where statd's state is kept, statd's state path can now be decoupled from the normal NFS state directory.

In configure.ac, the NSM_STATD_PATH definition will now define

In the description:
s/NSM_STATD_PATH/NSM_DEFAULT_STATEDIR/

Otherwise,

Quoted 63 lines

the path to where the state information is kept. The default value, /var/lib/nfs, can be redefined with the --with-statdpath flag.

---

configure.ac       |    9 +++++++++
support/nsm/file.c |    8 --------
2 files changed, 9 insertions(+), 8 deletions(-)
configure.ac +8 -0
index b5934c4..500172b 100644
@@ -23,6 +23,14 @@ AC_ARG_WITH(statedir,
 	statedir=$withval,
 	statedir=/var/lib/nfs)
 	AC_SUBST(statedir)
+AC_ARG_WITH(statdpath,
+	[AC_HELP_STRING([--with-statdpath=/foo @<:@default=/var/lib/nfs@:>@],
+		[define statd's state dir as /foo instead of the NFS statedir]
+	)],
+	statdpath=$withval,
+	statdpath=$statedir
+	)
+	AC_SUBST(statdpath)
 AC_ARG_WITH(statduser,
 	[AC_HELP_STRING([--with-statduser=rpcuser],
                        [statd to run under @<:@rpcuser or nobody@:>@]
@@ -387,6 +395,7 @@ dnl *************************************************************

dnl Export some path names to config.h
dnl *************************************************************
AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!]) +AC_DEFINE_UNQUOTED(NSM_DEFAULT_STATEDIR, "$statdpath", [Define this to the pathname where statd keeps its state file])

if test "x$cross_compiling" = "xno"; then

	CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
support/nsm/file.c +0 -8
index a12c753..5dd52c1 100644
@@ -94,14 +94,6 @@
 
 #define NSM_KERNEL_STATE_FILE	"/proc/sys/fs/nfs/nsm_local_state"
 
-/*
- * Some distributions place statd's files in a subdirectory
- */
-#define NSM_PATH_EXTENSION
-/* #define NSM_PATH_EXTENSION	"/statd" */
-
-#define NSM_DEFAULT_STATEDIR		NFS_STATEDIR NSM_PATH_EXTENSION
-
 static char nsm_base_dirname[PATH_MAX] = NSM_DEFAULT_STATEDIR;
 
 #define NSM_MONITOR_DIR	"sm"
Signature · 6 lines
1.7.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
#2 lore raw
Quoted 7 lines · Chuck Lever
Quoted 4 lines · Steve Dickson

To allow greater flexibility to where statd's state is kept, statd's state path can now be decoupled from the normal NFS state directory.

Quoted 8 lines
Quoted 1 line

In configure.ac, the NSM_STATD_PATH definition will now define

In the description:
s/NSM_STATD_PATH/NSM_DEFAULT_STATEDIR/

Otherwise,

Committed with the above change...

steved.

Quoted 65 lines
Quoted 64 lines

the path to where the state information is kept. The default value, /var/lib/nfs, can be redefined with the --with-statdpath flag.

---

configure.ac       |    9 +++++++++
support/nsm/file.c |    8 --------
2 files changed, 9 insertions(+), 8 deletions(-)
configure.ac +8 -0
index b5934c4..500172b 100644
@@ -23,6 +23,14 @@ AC_ARG_WITH(statedir,
 	statedir=$withval,
 	statedir=/var/lib/nfs)
 	AC_SUBST(statedir)
+AC_ARG_WITH(statdpath,
+	[AC_HELP_STRING([--with-statdpath=/foo @<:@default=/var/lib/nfs@:>@],
+		[define statd's state dir as /foo instead of the NFS statedir]
+	)],
+	statdpath=$withval,
+	statdpath=$statedir
+	)
+	AC_SUBST(statdpath)
 AC_ARG_WITH(statduser,
 	[AC_HELP_STRING([--with-statduser=rpcuser],
                        [statd to run under @<:@rpcuser or nobody@:>@]
@@ -387,6 +395,7 @@ dnl *************************************************************

dnl Export some path names to config.h
dnl *************************************************************
AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!]) +AC_DEFINE_UNQUOTED(NSM_DEFAULT_STATEDIR, "$statdpath", [Define this to the pathname where statd keeps its state file])

if test "x$cross_compiling" = "xno"; then

	CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
support/nsm/file.c +0 -8
index a12c753..5dd52c1 100644
@@ -94,14 +94,6 @@
 
 #define NSM_KERNEL_STATE_FILE	"/proc/sys/fs/nfs/nsm_local_state"
 
-/*
- * Some distributions place statd's files in a subdirectory
- */
-#define NSM_PATH_EXTENSION
-/* #define NSM_PATH_EXTENSION	"/statd" */
-
-#define NSM_DEFAULT_STATEDIR		NFS_STATEDIR NSM_PATH_EXTENSION
-
 static char nsm_base_dirname[PATH_MAX] = NSM_DEFAULT_STATEDIR;
 
 #define NSM_MONITOR_DIR	"sm"
Signature · 6 lines
1.7.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html