diff mbox series

Add nfs.conf equivalent for the statd --no-notify cmdline option

Message ID 20190304165723.24097-1-steved@redhat.com (mailing list archive)
State New, archived
Headers show
Series Add nfs.conf equivalent for the statd --no-notify cmdline option | expand

Commit Message

Steve Dickson March 4, 2019, 4:57 p.m. UTC
From: Justin Mitchell <jumitche@redhat.com>

Also cleaned up how nfs.conf is read.

Signed-off-by: Justin Mitchell <jumitche@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
 nfs.conf            |  1 +
 utils/statd/statd.c | 55 ++++++++++++++++++++++++++++-----------------
 2 files changed, 36 insertions(+), 20 deletions(-)

Comments

Steve Dickson March 4, 2019, 6:50 p.m. UTC | #1
On 3/4/19 11:57 AM, Steve Dickson wrote:
> From: Justin Mitchell <jumitche@redhat.com>
> 
> Also cleaned up how nfs.conf is read.
> 
> Signed-off-by: Justin Mitchell <jumitche@redhat.com>
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed... 

steved.
> ---
>  nfs.conf            |  1 +
>  utils/statd/statd.c | 55 ++++++++++++++++++++++++++++-----------------
>  2 files changed, 36 insertions(+), 20 deletions(-)
> 
> diff --git a/nfs.conf b/nfs.conf
> index f1ebfdb..d332375 100644
> --- a/nfs.conf
> +++ b/nfs.conf
> @@ -62,6 +62,7 @@
>  # name=
>  # state-directory-path=/var/lib/nfs/statd
>  # ha-callout=
> +# no-notify=0
>  #
>  [sm-notify]
>  # debug=0
> diff --git a/utils/statd/statd.c b/utils/statd/statd.c
> index 2cc6cf3..1467380 100644
> --- a/utils/statd/statd.c
> +++ b/utils/statd/statd.c
> @@ -238,6 +238,39 @@ static void set_nlm_port(char *type, int port)
>  		fprintf(stderr, "%s: failed to open %s: %s\n", 
>  			name_p, pathbuf, strerror(errno));
>  }
> +int port = 0, out_port = 0;
> +int nlm_udp = 0, nlm_tcp = 0;
> +
> +inline static void 
> +read_nfsconf(char **argv)
> +{
> +	char *s;
> +
> +	conf_init_file(NFS_CONFFILE);
> +	xlog_from_conffile("statd");
> +
> +	out_port = conf_get_num("statd", "outgoing-port", out_port);
> +	port = conf_get_num("statd", "port", port);
> +
> +	MY_NAME = conf_get_str("statd", "name");
> +	if (MY_NAME)
> +		run_mode |= STATIC_HOSTNAME;
> +
> +	s = conf_get_str("statd", "state-directory-path");
> +	if (s && !nsm_setup_pathnames(argv[0], s))
> +		exit(1);
> +
> +	s = conf_get_str("statd", "ha-callout");
> +	if (s)
> +		ha_callout_prog = s;
> +
> +	nlm_tcp = conf_get_num("lockd", "port", nlm_tcp);
> +	/* udp defaults to the same as tcp ! */
> +	nlm_udp = conf_get_num("lockd", "udp-port", nlm_tcp);
> +
> +	if (conf_get_bool("statd", "no-notify", false))
> +		run_mode |= MODE_NO_NOTIFY;
> +}
>  
>  /*
>   * Entry routine/main loop.
> @@ -245,11 +278,8 @@ static void set_nlm_port(char *type, int port)
>  int main (int argc, char **argv)
>  {
>  	extern char *optarg;
> -	char *s;
>  	int pid;
>  	int arg;
> -	int port = 0, out_port = 0;
> -	int nlm_udp = 0, nlm_tcp = 0;
>  	struct rlimit rlim;
>  	int notify_sockfd;
>  	char *env;
> @@ -275,23 +305,8 @@ int main (int argc, char **argv)
>  	/* Set hostname */
>  	MY_NAME = NULL;
>  
> -	conf_init_file(NFS_CONFFILE);
> -	xlog_from_conffile("statd");
> -	out_port = conf_get_num("statd", "outgoing-port", out_port);
> -	port = conf_get_num("statd", "port", port);
> -	MY_NAME = conf_get_str("statd", "name");
> -	if (MY_NAME)
> -		run_mode |= STATIC_HOSTNAME;
> -	s = conf_get_str("statd", "state-directory-path");
> -	if (s && !nsm_setup_pathnames(argv[0], s))
> -		exit(1);
> -	s = conf_get_str("statd", "ha-callout");
> -	if (s)
> -		ha_callout_prog = s;
> -
> -	nlm_tcp = conf_get_num("lockd", "port", nlm_tcp);
> -	/* udp defaults to the same as tcp ! */
> -	nlm_udp = conf_get_num("lockd", "udp-port", nlm_tcp);
> +	/* Read nfs.conf */
> +	read_nfsconf(argv);
>  
>  	/* Process command line switches */
>  	while ((arg = getopt_long(argc, argv, "h?vVFNH:dn:p:o:P:LT:U:", longopts, NULL)) != EOF) {
>
diff mbox series

Patch

diff --git a/nfs.conf b/nfs.conf
index f1ebfdb..d332375 100644
--- a/nfs.conf
+++ b/nfs.conf
@@ -62,6 +62,7 @@ 
 # name=
 # state-directory-path=/var/lib/nfs/statd
 # ha-callout=
+# no-notify=0
 #
 [sm-notify]
 # debug=0
diff --git a/utils/statd/statd.c b/utils/statd/statd.c
index 2cc6cf3..1467380 100644
--- a/utils/statd/statd.c
+++ b/utils/statd/statd.c
@@ -238,6 +238,39 @@  static void set_nlm_port(char *type, int port)
 		fprintf(stderr, "%s: failed to open %s: %s\n", 
 			name_p, pathbuf, strerror(errno));
 }
+int port = 0, out_port = 0;
+int nlm_udp = 0, nlm_tcp = 0;
+
+inline static void 
+read_nfsconf(char **argv)
+{
+	char *s;
+
+	conf_init_file(NFS_CONFFILE);
+	xlog_from_conffile("statd");
+
+	out_port = conf_get_num("statd", "outgoing-port", out_port);
+	port = conf_get_num("statd", "port", port);
+
+	MY_NAME = conf_get_str("statd", "name");
+	if (MY_NAME)
+		run_mode |= STATIC_HOSTNAME;
+
+	s = conf_get_str("statd", "state-directory-path");
+	if (s && !nsm_setup_pathnames(argv[0], s))
+		exit(1);
+
+	s = conf_get_str("statd", "ha-callout");
+	if (s)
+		ha_callout_prog = s;
+
+	nlm_tcp = conf_get_num("lockd", "port", nlm_tcp);
+	/* udp defaults to the same as tcp ! */
+	nlm_udp = conf_get_num("lockd", "udp-port", nlm_tcp);
+
+	if (conf_get_bool("statd", "no-notify", false))
+		run_mode |= MODE_NO_NOTIFY;
+}
 
 /*
  * Entry routine/main loop.
@@ -245,11 +278,8 @@  static void set_nlm_port(char *type, int port)
 int main (int argc, char **argv)
 {
 	extern char *optarg;
-	char *s;
 	int pid;
 	int arg;
-	int port = 0, out_port = 0;
-	int nlm_udp = 0, nlm_tcp = 0;
 	struct rlimit rlim;
 	int notify_sockfd;
 	char *env;
@@ -275,23 +305,8 @@  int main (int argc, char **argv)
 	/* Set hostname */
 	MY_NAME = NULL;
 
-	conf_init_file(NFS_CONFFILE);
-	xlog_from_conffile("statd");
-	out_port = conf_get_num("statd", "outgoing-port", out_port);
-	port = conf_get_num("statd", "port", port);
-	MY_NAME = conf_get_str("statd", "name");
-	if (MY_NAME)
-		run_mode |= STATIC_HOSTNAME;
-	s = conf_get_str("statd", "state-directory-path");
-	if (s && !nsm_setup_pathnames(argv[0], s))
-		exit(1);
-	s = conf_get_str("statd", "ha-callout");
-	if (s)
-		ha_callout_prog = s;
-
-	nlm_tcp = conf_get_num("lockd", "port", nlm_tcp);
-	/* udp defaults to the same as tcp ! */
-	nlm_udp = conf_get_num("lockd", "udp-port", nlm_tcp);
+	/* Read nfs.conf */
+	read_nfsconf(argv);
 
 	/* Process command line switches */
 	while ((arg = getopt_long(argc, argv, "h?vVFNH:dn:p:o:P:LT:U:", longopts, NULL)) != EOF) {