On Fri, Feb 03 2017, Scott Mayhew wrote: > Currently, rpc.mountd's -s/--state-directory-path option doesn't really > do anything (rpc.mountd tests it via chdir() but that's all). These > patches implement the -s/--state-directory-path option so that > rpc.mountd's state files (the etab and rmtab) can be placed in a > location other than /var/lib/nfs... for example, /run/nfs. > > To use /run/nfs, it's necessary to create a systemd-tmpfiles config > file, e.g. > > # cat /usr/lib/tmpfiles.d/nfs.conf > #Type Path Mode UID GID Age Argument > d /run/nfs 0755 root root - - > f /run/nfs/etab 0644 root root - - > f /run/nfs/rmtab 0644 root root - - > > and if selinux is in enforcing mode, the correct context would need to > be set on the directory (On Fedora, semanage barks at me if I use > /run/nfs... that's why I'm using /var/run/nfs here instead): > > # semanage fcontext -a -t var_lib_nfs_t "/var/run/nfs(/.*)?" > > Changes since v1: > > - Replaced all newly-added occurrences of the term 'xtab' so it wouldn't > be confused with the recently removed 'xtab' file. I did not replace > any existing uses of the term 'xtab' though. > - Removed the reference to statd on the mountd man page. > > Changes since v2: > - Fixed string-handling blunder I made in generic_setup_basedir(). Tested with > pathnames of length 4083 (the largest you can have and still append > "/.rmtab.lock"), 4084 (generic_make_pathname() will fail for ".rmtab.lock"), > 4095, 4096, and 4097. > - Removed error_check() from support/misc/file.c and added the check directly > in generic_make_pathname() > - Removed _PATH_ETAB* and _PATH_RMTAB* as they're no longer used. > - Updated the nfs.conf.man and exportfs.man pages. > > > Scott Mayhew (2): > libnsm.a: refactor nsm_setup_pathnames() and nsm_make_pathname() > mountd/exportfs: implement the -s/--state-directory-path option Both patches Reviewed-by: NeilBrown <neilb@xxxxxxxx> Thanks! NeilBrown
Attachment:
signature.asc
Description: PGP signature