On 11/15/2016 01:36 AM, NeilBrown wrote: > On Tue, Nov 15 2016, Steve Dickson wrote: > >> On 11/10/2016 10:36 PM, NeilBrown wrote: >>> rpcbind can save state in a file to allow restart without forgetting >>> about running services. >>> >>> The default location is currently "/tmp" which is an over-used >>> directory that isn't really suitable for system files. >>> The modern preferences would be a subdirectory of "/run", which can >>> be selected with a ./configure option. That subdirectory would still need >>> to be created by something. >>> >>> It is trivial for rpcbind to create the directory itself, and harmless >>> to try if it already exists, so: >>> - add a "mkdir" when saving state data >>> - change the default to /run/rpcbind (currently used by Debian) >>> - remove the default settign in the code, just use the one >>> in configure.ac >> I'm all for move the warmstart directory to /run but why don't we have systemd >> create the directory via a tmpfiles.d( config file... some like >> >> #Type Path Mode UID GID Age Argument >> D /run/rpcbind 0700 rpc rpc - - >> >> The only thing I'm not sure about is how it would get installed... >> I guess it would some type of Makefile.ac entry?? > Because not everyone uses systemd? Yeah... I figured as much. > Someone at SUSE recently moved the state directory to /run/rpcbind and > used tmpfiles.d exactly as you describe to create /run/rpcbind. Then > found they needed to do something extra and different for dracut. I > haven't looked into why, but it is presumably because while dracut does > use systemd, it doesn't use it quite the same way that normal system boot > uses it. I didn't have this problem when I move rpcbind in RHEL7 to use /run/rpcbind via tmpfiles.d The biggest problem I had was migrating the warmstart files to the new place. Having /run/rpcbind exist after boot made that much easier. > I've found this with configuring mdadm too. I got the udev and systemd > configuration just right, and then found that while dracut uses udev and > systemd, I still need to add extra stuff to dracut. And then there was > another boot environment which used udev but not systemd, so it needed > different tweaking. > > So I think we are less likely to run into strange problems if we just > get rpcbind to create its own directory. Certainly rely on systemd to > do the things that systemd does best (like start the service), but don't > rely on it to do things we can easily do ourselves. Another potential problem is SElinux... Its never a fan of daemon creating things on the fly... but I guess that is my problem 8-) steved. > > Thanks, > NeilBrown > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html