Compare commits
No commits in common. "09ee387e082f3bffe671d76356191e726132b6ef" and "e6d6645517759f5eb419f6754bd4c12dfa151b21" have entirely different histories.
09ee387e08
...
e6d6645517
|
@ -112,12 +112,6 @@ These configuration snippets shall be Unix-style text files (i.e. line separatio
|
|||
* `devicetree` refers to the binary device tree to use when executing the
|
||||
kernel. This also shall be a path relative to the `$BOOT` directory. This
|
||||
key is optional. Example: `6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.armv7hl/tegra20-paz00.dtb`.
|
||||
* `devicetree-overlay` refers to a list of device tree overlays that should be
|
||||
applied by the boot loader. Multiple overlays are separated by spaces and
|
||||
applied in the same order as they are listed. This key is optional but depends
|
||||
on the `devicetree` key. Example:
|
||||
`/6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_A.dtbo
|
||||
/6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_B.dtbo`
|
||||
* `architecture` refers to the architecture this entry is defined for. The argument should be an architecture identifier, using the architecture vocabulary defined by the EFI specification (i.e. `IA32`, `x64`, `IA64`, `ARM`, `AA64`, …). If specified and this does not match (case insensitively) the local system architecture this entry should be hidden.
|
||||
|
||||
Each configuration drop-in snippet must include at least a `linux` or an `efi` key and is otherwise not valid. Here's an example for a complete drop-in file:
|
||||
|
|
|
@ -361,7 +361,7 @@ static int mount_add_device_dependencies(Mount *m) {
|
|||
/* We always use 'what' from /proc/self/mountinfo if mounted */
|
||||
mask = m->from_proc_self_mountinfo ? UNIT_DEPENDENCY_MOUNTINFO_IMPLICIT : UNIT_DEPENDENCY_FILE;
|
||||
|
||||
r = unit_add_node_dependency(UNIT(m), p->what, dep, mask);
|
||||
r = unit_add_node_dependency(UNIT(m), p->what, false, dep, mask);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
|
|
|
@ -294,7 +294,7 @@ static int socket_add_device_dependencies(Socket *s) {
|
|||
return 0;
|
||||
|
||||
t = strjoina("/sys/subsystem/net/devices/", s->bind_to_device);
|
||||
return unit_add_node_dependency(UNIT(s), t, UNIT_BINDS_TO, UNIT_DEPENDENCY_FILE);
|
||||
return unit_add_node_dependency(UNIT(s), t, false, UNIT_BINDS_TO, UNIT_DEPENDENCY_FILE);
|
||||
}
|
||||
|
||||
static int socket_add_default_dependencies(Socket *s) {
|
||||
|
|
|
@ -197,11 +197,12 @@ static int swap_add_device_dependencies(Swap *s) {
|
|||
return 0;
|
||||
|
||||
if (is_device_path(s->what))
|
||||
return unit_add_node_dependency(UNIT(s), s->what, UNIT_BINDS_TO, UNIT_DEPENDENCY_FILE);
|
||||
|
||||
/* File based swap devices need to be ordered after systemd-remount-fs.service,
|
||||
* since they might need a writable file system. */
|
||||
return unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, SPECIAL_REMOUNT_FS_SERVICE, true, UNIT_DEPENDENCY_FILE);
|
||||
return unit_add_node_dependency(UNIT(s), s->what, MANAGER_IS_SYSTEM(UNIT(s)->manager), UNIT_BINDS_TO, UNIT_DEPENDENCY_FILE);
|
||||
else
|
||||
/* File based swap devices need to be ordered after
|
||||
* systemd-remount-fs.service, since they might need a
|
||||
* writable file system. */
|
||||
return unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, SPECIAL_REMOUNT_FS_SERVICE, true, UNIT_DEPENDENCY_FILE);
|
||||
}
|
||||
|
||||
static int swap_add_default_dependencies(Swap *s) {
|
||||
|
|
|
@ -3832,7 +3832,7 @@ int unit_deserialize_skip(FILE *f) {
|
|||
}
|
||||
}
|
||||
|
||||
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency dep, UnitDependencyMask mask) {
|
||||
int unit_add_node_dependency(Unit *u, const char *what, bool wants, UnitDependency dep, UnitDependencyMask mask) {
|
||||
Unit *device;
|
||||
_cleanup_free_ char *e = NULL;
|
||||
int r;
|
||||
|
@ -3862,9 +3862,19 @@ int unit_add_node_dependency(Unit *u, const char *what, UnitDependency dep, Unit
|
|||
if (dep == UNIT_REQUIRES && device_shall_be_bound_by(device, u))
|
||||
dep = UNIT_BINDS_TO;
|
||||
|
||||
return unit_add_two_dependencies(u, UNIT_AFTER,
|
||||
MANAGER_IS_SYSTEM(u->manager) ? dep : UNIT_WANTS,
|
||||
device, true, mask);
|
||||
r = unit_add_two_dependencies(u, UNIT_AFTER,
|
||||
MANAGER_IS_SYSTEM(u->manager) ? dep : UNIT_WANTS,
|
||||
device, true, mask);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (wants) {
|
||||
r = unit_add_dependency(device, UNIT_WANTS, u, false, mask);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int unit_coldplug(Unit *u) {
|
||||
|
|
|
@ -733,7 +733,7 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs);
|
|||
int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
|
||||
int unit_deserialize_skip(FILE *f);
|
||||
|
||||
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency d, UnitDependencyMask mask);
|
||||
int unit_add_node_dependency(Unit *u, const char *what, bool wants, UnitDependency d, UnitDependencyMask mask);
|
||||
|
||||
int unit_coldplug(Unit *u);
|
||||
void unit_catchup(Unit *u);
|
||||
|
|
Loading…
Reference in New Issue