On Mon, 6 Jan 2014 00:52:42 +0900, Hitoshi Mitake wrote: > The nofork option aims to reduce call of fork(), but it is not > effective. This patch lets cleanerd ignore the option simply even if > it is passed. > > Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> > --- > sbin/cleanerd/cleanerd.c | 28 ++++++++++++---------------- > 1 file changed, 12 insertions(+), 16 deletions(-) > > diff --git a/sbin/cleanerd/cleanerd.c b/sbin/cleanerd/cleanerd.c > index e1f6a04..0b5bb70 100644 > --- a/sbin/cleanerd/cleanerd.c > +++ b/sbin/cleanerd/cleanerd.c > @@ -113,7 +113,7 @@ do { \ > const static struct option long_option[] = { > {"conffile", required_argument, NULL, 'c'}, > {"help", no_argument, NULL, 'h'}, > - /* internal option for mount.nilfs2 only */ > + /* nofork option is obsolete. It does nothing even if passed */ > {"nofork", no_argument, NULL, 'n'}, > {"protection-period", required_argument, NULL, 'p'}, > {"version", no_argument, NULL, 'V'}, > @@ -691,20 +691,18 @@ static int oom_adjust(void) > #define DEVNULL "/dev/null" > #define ROOTDIR "/" > > -static int daemonize(int nochdir, int noclose, int nofork) > +static int daemonize(int nochdir, int noclose) > { > pid_t pid; > > - if (!nofork) { > - pid = fork(); > - if (pid < 0) > - return -1; > - else if (pid != 0) > - /* parent */ > - _exit(0); > - } > + pid = fork(); > + if (pid < 0) > + return -1; > + else if (pid != 0) > + /* parent */ > + _exit(0); > > - /* child or nofork */ > + /* child */ > if (setsid() < 0) > return -1; > > @@ -1491,7 +1489,7 @@ int main(int argc, char *argv[]) > char canonical[PATH_MAX + 2]; > const char *dev, *dir; > char *endptr; > - int status, nofork, c; > + int status, c; > #ifdef _GNU_SOURCE > int option_index; > #endif /* _GNU_SOURCE */ > @@ -1499,7 +1497,6 @@ int main(int argc, char *argv[]) > progname = (strrchr(argv[0], '/') != NULL) ? > strrchr(argv[0], '/') + 1 : argv[0]; > conffile = NILFS_CLEANERD_CONFFILE; > - nofork = 0; > status = 0; > protection_period = ULONG_MAX; > dev = NULL; > @@ -1520,8 +1517,7 @@ int main(int argc, char *argv[]) > nilfs_cleanerd_usage(progname); > exit(0); > case 'n': > - /* internal option for mount.nilfs2 only */ > - nofork = 1; > + /* ignore nofork option, do nothing */ > break; > case 'p': > protection_period = strtoul(optarg, &endptr, 10); > @@ -1568,7 +1564,7 @@ int main(int argc, char *argv[]) > } > } > > - if (daemonize(0, 0, nofork) < 0) { > + if (daemonize(0, 0) < 0) { > fprintf(stderr, "%s: %s\n", progname, strerror(errno)); > exit(1); > } > -- > 1.8.1.2 Looks good to me. Applied. Thank a lot. Ryusuke Konishi -- To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html