From aab9231aeeec1f18b89163e06fe16c3718c2abba Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 24 Dec 2020 14:05:47 +0000 Subject: Prepare for 0.1.3.0; add -C option for autocoldplug --- src/mdevd/mdevd.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mdevd/mdevd.c b/src/mdevd/mdevd.c index 91de3d5..f77fa60 100644 --- a/src/mdevd/mdevd.c +++ b/src/mdevd/mdevd.c @@ -41,7 +41,9 @@ #include #include -#define USAGE "mdevd [ -v verbosity ] [ -D notif ] [ -o outputfd ] [ -b kbufsz ] [ -f conffile ] [ -n ] [ -s slashsys ] [ -d slashdev ]" +#include + +#define USAGE "mdevd [ -v verbosity ] [ -D notif ] [ -o outputfd ] [ -b kbufsz ] [ -f conffile ] [ -n ] [ -s slashsys ] [ -d slashdev ] [ -F fwbase ] [ -C ]" #define dieusage() strerr_dieusage(100, USAGE) #define CONFBUFSIZE 8192 @@ -1012,12 +1014,13 @@ int main (int argc, char const *const *argv) unsigned int notif = 0 ; unsigned int kbufsz = 512288 ; char const *slashdev = "/dev" ; + int docoldplug = 0 ; PROG = "mdevd" ; { subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - int opt = subgetopt_r(argc, argv, "nv:D:o:b:f:s:d:F:", &l) ; + int opt = subgetopt_r(argc, argv, "nv:D:o:b:f:s:d:F:C", &l) ; if (opt == -1) break ; switch (opt) { @@ -1030,6 +1033,7 @@ int main (int argc, char const *const *argv) case 's' : slashsys = l.arg ; break ; case 'd' : slashdev = l.arg ; break ; case 'F' : fwbase = l.arg ; break ; + case 'C' : docoldplug = 1 ; break ; default : dieusage() ; } } @@ -1107,6 +1111,14 @@ int main (int argc, char const *const *argv) script[scriptlen++] = scriptelem_catchall ; script_secondpass(storage, script, envmatch) ; cont = 2 ; + if (docoldplug) + { + char const *cargv[2] = { MDEVD_BINPREFIX "mdevd-coldplug", 0 } ; + char const *cenv = 0 ; + if (!child_spawn0(cargv[0], cargv, &cenv)) + strerr_warnwu2sys("spawn ", cargv[0]) ; + docoldplug = 0 ; + } if (notif) { fd_write(notif, "\n", 1) ; -- cgit v1.3.1