From 77439cd18f342fa4f206d4fb35d40c1d02e1bf8c Mon Sep 17 00:00:00 2001 From: Joyu Liao Date: Tue, 9 Jul 2024 12:44:38 -0700 Subject: [PATCH] nfsd: Add option to disable going into daemon mode In our products, we need those options to support our features. Add daemon mode option for mountd, nfsd. Add skip local host binding option for rpcd. Add skip local host binding option for mountd. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D45118 --- usr.sbin/nfsd/nfsd.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/usr.sbin/nfsd/nfsd.c b/usr.sbin/nfsd/nfsd.c index 563a3698354..b6c60ce7283 100644 --- a/usr.sbin/nfsd/nfsd.c +++ b/usr.sbin/nfsd/nfsd.c @@ -68,6 +68,7 @@ #include static int debug = 0; +static int nofork = 0; #define NFSD_STABLERESTART "/var/db/nfs-stablerestart" #define NFSD_STABLEBACKUP "/var/db/nfs-stablerestart.bak" @@ -170,10 +171,10 @@ main(int argc, char **argv) nfsdcnt = DEFNFSDCNT; unregister = reregister = tcpflag = maxsock = 0; bindanyflag = udpflag = connect_type_cnt = bindhostc = 0; - getopt_shortopts = "ah:n:rdtuep:m:V:"; + getopt_shortopts = "ah:n:rdtuep:m:V:N"; getopt_usage = "usage:\n" - " nfsd [-ardtue] [-h bindip]\n" + " nfsd [-ardtueN] [-h bindip]\n" " [-n numservers] [--minthreads #] [--maxthreads #]\n" " [-p/--pnfs dsserver0:/dsserver0-mounted-on-dir,...," "dsserverN:/dsserverN-mounted-on-dir] [-m mirrorlevel]\n" @@ -230,6 +231,9 @@ main(int argc, char **argv) NFSDEV_MAXMIRRORS); nfsdargs.mirrorcnt = i; break; + case 'N': + nofork = 1; + break; case 0: lopt = longopts[longindex].name; if (!strcmp(lopt, "minthreads")) { @@ -411,7 +415,7 @@ main(int argc, char **argv) } exit (0); } - if (debug == 0) { + if (debug == 0 && nofork == 0) { daemon(0, 0); (void)signal(SIGHUP, SIG_IGN); (void)signal(SIGINT, SIG_IGN);