From: Steve Dickson Date: Tue, 20 Sep 2011 16:52:46 +0000 (-0400) Subject: statd: Decouple statd's state directory from the NFS state directory X-Git-Tag: nfs-utils-1-2-5-rc3~3 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=commitdiff_plain;h=5c3e26650a54af7826a2b4c6759b56681a350c37;ds=sidebyside 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_DEFAULT_STATEDIR 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. Reviewed-by: Chuck Lever Signed-off-by: Steve Dickson --- diff --git a/configure.ac b/configure.ac index b5934c4..500172b 100644 --- a/configure.ac +++ b/configure.ac @@ -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"} diff --git a/support/nsm/file.c b/support/nsm/file.c index a12c753..5dd52c1 100644 --- a/support/nsm/file.c +++ b/support/nsm/file.c @@ -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"