Re: [nfs-utils PATCH RFC 6/7] nfsdcld: add /etc/nfs.conf support

Scott Mayhew
2018-11-08T13:09:04Z

On Thu, 08 Nov 2018, Steve Dickson wrote:

>
>
> On 11/6/18 1:36 PM, Scott Mayhew wrote:
> > Signed-off-by: Scott Mayhew <smayhew@redhat.com>
> > ---
> > nfs.conf | 4 ++++
> > utils/nfsdcld/nfsdcld.c | 13 +++++++++++++
> > utils/nfsdcld/nfsdcld.man | 15 +++++++++++++++
> > 3 files changed, 32 insertions(+)
> >
> > diff --git a/nfs.conf b/nfs.conf
> > index 0d0ec9b..2157b9c 100644
> > --- a/nfs.conf
> > +++ b/nfs.conf
> > @@ -33,6 +33,10 @@
> > # state-directory-path=/var/lib/nfs
> > # ha-callout=
> > #
> > +#[nfsdcld]
> Staring very recently, all sections are now un-commented

Okay, I see that now.

>
> > +# debug=0
> > +# storagedir=/var/lib/nfs/nfsdcld
> Does this also need a
> # pipefsdir=/var/lib/nfs/rpc_pipefs
>
> Or are you grabbing that from the [general] section?

Yep, that comes from the general section, just like the other pipefs
users.

-Scott

>
> steved.
> > +#
> > #[nfsdcltrack]
> > # debug=0
> > # storagedir=/var/lib/nfs/nfsdcltrack
> > diff --git a/utils/nfsdcld/nfsdcld.c b/utils/nfsdcld/nfsdcld.c
> > index 272c7c5..313c68f 100644
> > --- a/utils/nfsdcld/nfsdcld.c
> > +++ b/utils/nfsdcld/nfsdcld.c
> > @@ -45,6 +45,7 @@
> > #include "cld-internal.h"
> > #include "sqlite.h"
> > #include "../mount/version.h"
> > +#include "conffile.h"
> >
> > #ifndef DEFAULT_PIPEFS_DIR
> > #define DEFAULT_PIPEFS_DIR NFS_STATEDIR "/rpc_pipefs"
> > @@ -640,6 +641,7 @@ main(int argc, char **argv)
> > char *progname;
> > char *storagedir = CLD_DEFAULT_STORAGEDIR;
> > struct cld_client clnt;
> > + char *s;
> >
> > memset(&clnt, 0, sizeof(clnt));
> >
> > @@ -653,6 +655,17 @@ main(int argc, char **argv)
> > xlog_syslog(0);
> > xlog_stderr(1);
> >
> > + conf_init_file(NFS_CONFFILE);
> > + s = conf_get_str("general", "pipefs-directory");
> > + if (s)
> > + strlcpy(pipefs_dir, s, sizeof(pipefs_dir));
> > + s = conf_get_str("nfsdcld", "storagedir");
> > + if (s)
> > + storagedir = s;
> > + rc = conf_get_num("nfsdcld", "debug", 0);
> > + if (rc > 0)
> > + xlog_config(D_ALL, 1);
> > +
> > /* process command-line options */
> > while ((arg = getopt_long(argc, argv, "hdFp:s:", longopts,
> > NULL)) != EOF) {
> > diff --git a/utils/nfsdcld/nfsdcld.man b/utils/nfsdcld/nfsdcld.man
> > index b607ba6..c271d14 100644
> > --- a/utils/nfsdcld/nfsdcld.man
> > +++ b/utils/nfsdcld/nfsdcld.man
> > @@ -163,6 +163,21 @@ Location of the rpc_pipefs filesystem. The default value is
> > .IX Item "-s storagedir, --storagedir=storage_dir"
> > Directory where stable storage information should be kept. The default
> > value is \fI/var/lib/nfs/nfsdcld\fR.
> > +.SH "CONFIGURATION FILE"
> > +.IX Header "CONFIGURATION FILE"
> > +The following values are recognized in the \fB[nfsdcld]\fR section
> > +of the \fI/etc/nfs.conf\fR configuration file:
> > +.IP "\fBstoragedir\fR" 4
> > +.IX Item "storagedir"
> > +Equivalent to \fB\-s\fR/\fB\-\-storagedir\fR.
> > +.IP "\fBdebug\fR" 4
> > +.IX Item "debug"
> > +Setting "debug = 1" is equivalent to \fB\-d\fR/\fB\-\-debug\fR.
> > +.LP
> > +In addition, the following value is recognized from the \fB[general]\fR section:
> > +.IP "\fBpipefs\-directory\fR" 4
> > +.IX Item "pipefs-directory"
> > +Equivalent to \fB\-p\fR/\fB\-\-pipefsdir\fR.
> > .SH "NOTES"
> > .IX Header "NOTES"
> > The Linux kernel NFSv4 server has historically tracked this information
> >