From patchwork Mon Mar 4 16:57:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Dickson X-Patchwork-Id: 10838055 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E6BD21399 for ; Mon, 4 Mar 2019 16:57:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D2E862ABDF for ; Mon, 4 Mar 2019 16:57:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C74362AC01; Mon, 4 Mar 2019 16:57:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 69D702ABDF for ; Mon, 4 Mar 2019 16:57:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727095AbfCDQ5Z (ORCPT ); Mon, 4 Mar 2019 11:57:25 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35982 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726063AbfCDQ5Z (ORCPT ); Mon, 4 Mar 2019 11:57:25 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 75181BDFF for ; Mon, 4 Mar 2019 16:57:25 +0000 (UTC) Received: from madhat.boston.devel.redhat.com (ovpn-116-96.phx2.redhat.com [10.3.116.96]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2EE291001DCE for ; Mon, 4 Mar 2019 16:57:25 +0000 (UTC) From: Steve Dickson To: Linux NFS Mailing list Subject: [PATCH] Add nfs.conf equivalent for the statd --no-notify cmdline option Date: Mon, 4 Mar 2019 11:57:23 -0500 Message-Id: <20190304165723.24097-1-steved@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 04 Mar 2019 16:57:25 +0000 (UTC) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Justin Mitchell Also cleaned up how nfs.conf is read. Signed-off-by: Justin Mitchell Signed-off-by: Steve Dickson --- 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) {