On Wed, Jan 28, 2015 at 02:24:32PM +0100, Didier Roche wrote: > > From 000f1b6ff4f5f80a2a13309590d255de6d6526ec Mon Sep 17 00:00:00 2001 > From: Didier Roche <didro...@ubuntu.com> > Date: Mon, 26 Jan 2015 17:30:00 +0100 > Subject: [PATCH 10/12] Add fsckd service and socket, retarget systemd-fsck > > systemd-fsckd can be socket-activated by systemd-fsck process. Reflect that > in the different unit files. > --- > Makefile.am | 3 +++ > units/.gitignore | 1 + > units/systemd-fsck-root.service.in | 4 +++- > units/systemd-f...@.service.in | 5 +++-- > units/systemd-fsckd.service.in | 16 ++++++++++++++++ > units/systemd-fsckd.socket | 15 +++++++++++++++ > 6 files changed, 41 insertions(+), 3 deletions(-) > create mode 100644 units/systemd-fsckd.service.in > create mode 100644 units/systemd-fsckd.socket > > diff --git a/Makefile.am b/Makefile.am > index a9d61f1..1eeba4f 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -492,6 +492,7 @@ dist_systemunit_DATA = \ > units/slices.target \ > units/system.slice \ > units/x-.slice \ > + units/systemd-fsckd.socket \ > units/systemd-initctl.socket \ > units/systemd-shutdownd.socket \ > units/syslog.socket \ > @@ -543,6 +544,7 @@ nodist_systemunit_DATA = \ > units/systemd-kexec.service \ > units/systemd-fsck@.service \ > units/systemd-fsck-root.service \ > + units/systemd-fsckd.service \ > units/systemd-machine-id-commit.service \ > units/systemd-udevd.service \ > units/systemd-udev-trigger.service \ > @@ -596,6 +598,7 @@ EXTRA_DIST += \ > units/user/systemd-exit.service.in \ > units/systemd-f...@.service.in \ > units/systemd-fsck-root.service.in \ > + units/systemd-fsckd.service.in \ > units/systemd-machine-id-commit.service.in \ > units/u...@.service.m4.in \ > units/debug-shell.service.in \ > diff --git a/units/.gitignore b/units/.gitignore > index 6fdb629..26ae965 100644 > --- a/units/.gitignore > +++ b/units/.gitignore > @@ -28,6 +28,7 @@ > /systemd-firstboot.service > /systemd-fsck-root.service > /systemd-fsck@.service > +/systemd-fsckd.service > /systemd-machine-id-commit.service > /systemd-halt.service > /systemd-hibernate.service > diff --git a/units/systemd-fsck-root.service.in > b/units/systemd-fsck-root.service.in > index 6d76578..bd3bdbc 100644 > --- a/units/systemd-fsck-root.service.in > +++ b/units/systemd-fsck-root.service.in > @@ -9,12 +9,14 @@ > Description=File System Check on Root Device > Documentation=man:systemd-fsck-root.service(8) > DefaultDependencies=no > +Wants=systemd-fsckd.socket > Before=local-fs.target shutdown.target > +After=systemd-fsckd.socket > ConditionPathIsReadWrite=!/ > > [Service] > Type=oneshot > RemainAfterExit=yes > ExecStart=@rootlibexecdir@/systemd-fsck > -StandardOutput=journal+console > +StandardOutput=journal Just remove the line completely to use the admin default (here and in other cases...).
> TimeoutSec=0 > diff --git a/units/systemd-f...@.service.in b/units/systemd-f...@.service.in > index 857e625..3ceb5f2 100644 > --- a/units/systemd-f...@.service.in > +++ b/units/systemd-f...@.service.in > @@ -10,12 +10,13 @@ Description=File System Check on %f > Documentation=man:systemd-fsck@.service(8) > DefaultDependencies=no > BindsTo=%i.device > -After=%i.device systemd-fsck-root.service local-fs-pre.target > +Wants=systemd-fsckd.socket > +After=%i.device systemd-fsck-root.service local-fs-pre.target > systemd-fsckd.socket > Before=shutdown.target > > [Service] > Type=oneshot > RemainAfterExit=yes > ExecStart=@rootlibexecdir@/systemd-fsck %f > -StandardOutput=journal+console > +StandardOutput=journal > TimeoutSec=0 > diff --git a/units/systemd-fsckd.service.in b/units/systemd-fsckd.service.in > new file mode 100644 > index 0000000..27c325f > --- /dev/null > +++ b/units/systemd-fsckd.service.in > @@ -0,0 +1,16 @@ > +# This file is part of systemd. > +# > +# systemd is free software; you can redistribute it and/or modify it > +# under the terms of the GNU Lesser General Public License as published by > +# the Free Software Foundation; either version 2.1 of the License, or > +# (at your option) any later version. > + > +[Unit] > +Description=File System Check Daemon to report status > +DefaultDependencies=no > +Requires=systemd-fsckd.socket > +Before=shutdown.target > + > +[Service] > +ExecStart=@rootlibexecdir@/systemd-fsckd > +StandardOutput=journal+console > diff --git a/units/systemd-fsckd.socket b/units/systemd-fsckd.socket > new file mode 100644 > index 0000000..96a034a > --- /dev/null > +++ b/units/systemd-fsckd.socket > @@ -0,0 +1,15 @@ > +# This file is part of systemd. > +# > +# systemd is free software; you can redistribute it and/or modify it > +# under the terms of the GNU Lesser General Public License as published by > +# the Free Software Foundation; either version 2.1 of the License, or > +# (at your option) any later version. > + > +[Unit] > +Description=fsck to fsckd communication Socket > +Documentation=man:systemd-fsck@.service(8) man:systemd-fsck-root.service(8) > +DefaultDependencies=no > +Before=sockets.target Is this necessary? It is pulled in by the fsck units already, I don't think we need to start it separately. > + > +[Socket] > +ListenStream=/run/systemd/fsckd Zbyszek _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel