mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 20:23:36 +08:00
cryptsetup: introduce new cryptsetup-pre.traget unit so that services can make sure they are started before and stopped after any LUKS setup
https://bugzilla.redhat.com/show_bug.cgi?id=1097938
This commit is contained in:
parent
6f04529399
commit
9542239eaf
@ -3933,7 +3933,8 @@ systemgenerator_PROGRAMS += \
|
||||
systemd-cryptsetup-generator
|
||||
|
||||
dist_systemunit_DATA += \
|
||||
units/cryptsetup.target
|
||||
units/cryptsetup.target \
|
||||
units/cryptsetup-pre.target
|
||||
|
||||
systemd_cryptsetup_SOURCES = \
|
||||
src/cryptsetup/cryptsetup.c
|
||||
|
@ -52,6 +52,7 @@
|
||||
<filename>bluetooth.target</filename>,
|
||||
<filename>ctrl-alt-del.target</filename>,
|
||||
<filename>cryptsetup.target</filename>,
|
||||
<filename>cryptsetup-pre.target</filename>,
|
||||
<filename>dbus.service</filename>,
|
||||
<filename>dbus.socket</filename>,
|
||||
<filename>default.target</filename>,
|
||||
@ -840,6 +841,27 @@
|
||||
transaction.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>cryptsetup-pre.target</filename></term>
|
||||
<listitem>
|
||||
<para>This passive target unit
|
||||
may be pulled in by services
|
||||
that want to run before any
|
||||
encrypted block device is set
|
||||
up. All encrypted block
|
||||
devices are set up after this
|
||||
target has been reached. Since
|
||||
the shutdown order is
|
||||
implicitly the reverse
|
||||
start-up order between units
|
||||
this target is particularly
|
||||
useful to ensure that a
|
||||
service is shut down only
|
||||
after all encrypted block
|
||||
devices are fully
|
||||
stopped.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><filename>local-fs-pre.target</filename></term>
|
||||
<listitem>
|
||||
|
@ -127,7 +127,7 @@ static int create_disk(
|
||||
"Conflicts=umount.target\n"
|
||||
"BindsTo=dev-mapper-%i.device\n"
|
||||
"IgnoreOnIsolate=true\n"
|
||||
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
|
||||
"After=systemd-readahead-collect.service systemd-readahead-replay.service cryptsetup-pre.target\n",
|
||||
f);
|
||||
|
||||
if (!nofail)
|
||||
|
11
units/cryptsetup-pre.target
Normal file
11
units/cryptsetup-pre.target
Normal file
@ -0,0 +1,11 @@
|
||||
# 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=Encrypted Volumes (Pre)
|
||||
Documentation=man:systemd.special(7)
|
||||
RefuseManualStart=yes
|
Loading…
Reference in New Issue
Block a user