summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorDidier Roche <didrocks@ubuntu.com>2015-01-26 17:30:00 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2015-02-18 16:33:46 +0100
commit66f2ff06ca4ee5ea686b884e2923a31832ad8fe4 (patch)
treefb8b7bcea5ccf32eef2fae0df44e26d397032306 /units
parentd5e41df6d7a8e1814dded5e55e2c5a497fcf24dc (diff)
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.
Diffstat (limited to 'units')
-rw-r--r--units/.gitignore1
-rw-r--r--units/systemd-fsck-root.service.in3
-rw-r--r--units/systemd-fsck@.service.in4
-rw-r--r--units/systemd-fsckd.service.in16
-rw-r--r--units/systemd-fsckd.socket14
5 files changed, 35 insertions, 3 deletions
diff --git a/units/.gitignore b/units/.gitignore
index 6fdb629c3d..26ae965853 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 6d7657853e..f493445b86 100644
--- a/units/systemd-fsck-root.service.in
+++ b/units/systemd-fsck-root.service.in
@@ -9,12 +9,13 @@
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
TimeoutSec=0
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
index 857e625679..e6d98c031b 100644
--- a/units/systemd-fsck@.service.in
+++ b/units/systemd-fsck@.service.in
@@ -10,12 +10,12 @@ 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
TimeoutSec=0
diff --git a/units/systemd-fsckd.service.in b/units/systemd-fsckd.service.in
new file mode 100644
index 0000000000..27c325f778
--- /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 0000000000..a8994a1aea
--- /dev/null
+++ b/units/systemd-fsckd.socket
@@ -0,0 +1,14 @@
+# 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
+
+[Socket]
+ListenStream=/run/systemd/fsckd