1
0
mirror of https://github.com/systemd/systemd synced 2025-12-30 12:54:45 +01:00

Compare commits

..

No commits in common. "bf1868c8d7abaadaad4df00aafb9c183c8d6480b" and "f1c86dd9abec1707b4a024f8bb6ade9630d9b5a9" have entirely different histories.

10 changed files with 87 additions and 48 deletions

View File

@ -94,7 +94,7 @@
<row> <row>
<entry><varname>powervm</varname></entry> <entry><varname>powervm</varname></entry>
<entry>IBM PowerVM hypervisor comes as firmware with some IBM POWER servers</entry> <entry>IBM PowerVM hypervisor - comes as firmware with some IBM POWER servers</entry>
</row> </row>
<row> <row>

View File

@ -4,13 +4,13 @@
# #
# #
# Viktar Vaŭčkievič <victorenator@gmail.com>, 2015, 2016. # Viktar Vaŭčkievič <victorenator@gmail.com>, 2015, 2016.
# Zmicer Turok <nashtlumach@gmail.com>, 2020, 2021. # Zmicer Turok <nashtlumach@gmail.com>, 2020.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd master\n" "Project-Id-Version: systemd master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-08 17:48+0100\n" "POT-Creation-Date: 2021-01-08 17:48+0100\n"
"PO-Revision-Date: 2021-01-10 18:36+0000\n" "PO-Revision-Date: 2020-10-16 06:30+0000\n"
"Last-Translator: Zmicer Turok <nashtlumach@gmail.com>\n" "Last-Translator: Zmicer Turok <nashtlumach@gmail.com>\n"
"Language-Team: Belarusian <https://translate.fedoraproject.org/projects/" "Language-Team: Belarusian <https://translate.fedoraproject.org/projects/"
"systemd/master/be/>\n" "systemd/master/be/>\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.4\n" "X-Generator: Weblate 4.2.2\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -308,17 +308,22 @@ msgstr ""
"ноўтбука, патрабуецца аўтэнтыфікацыя." "ноўтбука, патрабуецца аўтэнтыфікацыя."
#: src/login/org.freedesktop.login1.policy:117 #: src/login/org.freedesktop.login1.policy:117
#, fuzzy
#| msgid "Allow applications to inhibit system handling of the power key"
msgid "Allow applications to inhibit system handling of the reboot key" msgid "Allow applications to inhibit system handling of the reboot key"
msgstr "" msgstr "Дазволіць праграмам перашкаджаць сістэме апрацоўваць кнопку выключэння"
"Дазволіць праграмам перашкаджаць сістэме апрацоўваць кнопку перазапуску"
#: src/login/org.freedesktop.login1.policy:118 #: src/login/org.freedesktop.login1.policy:118
#, fuzzy
#| msgid ""
#| "Authentication is required for an application to inhibit system handling "
#| "of the power key."
msgid "" msgid ""
"Authentication is required for an application to inhibit system handling of " "Authentication is required for an application to inhibit system handling of "
"the reboot key." "the reboot key."
msgstr "" msgstr ""
"Для таго, каб дазволіць праграмам перашкаджаць сістэме апрацоўваць кнопку " "Для таго, каб дазволіць праграмам перашкаджаць сістэме апрацоўваць кнопку "
"перазапуску, патрабуецца аўтэнтыфікацыя." "выключэння, патрабуецца аўтэнтыфікацыя."
#: src/login/org.freedesktop.login1.policy:128 #: src/login/org.freedesktop.login1.policy:128
msgid "Allow non-logged-in user to run programs" msgid "Allow non-logged-in user to run programs"

View File

@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-08 17:48+0100\n" "POT-Creation-Date: 2021-01-08 17:48+0100\n"
"PO-Revision-Date: 2021-01-14 06:37+0000\n" "PO-Revision-Date: 2021-01-09 10:48+0000\n"
"Last-Translator: Julien Humbert <julroy67@gmail.com>\n" "Last-Translator: Arnaud T. <listes.00@gmail.com>\n"
"Language-Team: French <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: French <https://translate.fedoraproject.org/projects/systemd/"
"master/fr/>\n" "master/fr/>\n"
"Language: fr\n" "Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.4.1\n" "X-Generator: Weblate 4.4\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -324,18 +324,24 @@ msgstr ""
"gestion par le système du rabat de lécran." "gestion par le système du rabat de lécran."
#: src/login/org.freedesktop.login1.policy:117 #: src/login/org.freedesktop.login1.policy:117
#, fuzzy
#| msgid "Allow applications to inhibit system handling of the power key"
msgid "Allow applications to inhibit system handling of the reboot key" msgid "Allow applications to inhibit system handling of the reboot key"
msgstr "" msgstr ""
"Permet aux applications dempêcher la gestion du bouton de redémarrage du " "Permet aux applications dempêcher la gestion du bouton dalimentation du "
"système" "système"
#: src/login/org.freedesktop.login1.policy:118 #: src/login/org.freedesktop.login1.policy:118
#, fuzzy
#| msgid ""
#| "Authentication is required for an application to inhibit system handling "
#| "of the power key."
msgid "" msgid ""
"Authentication is required for an application to inhibit system handling of " "Authentication is required for an application to inhibit system handling of "
"the reboot key." "the reboot key."
msgstr "" msgstr ""
"Authentification requise pour permettre à une application dempêcher la " "Authentification requise pour permettre à une application dempêcher la "
"gestion du bouton de redémarrage du système." "gestion du bouton dalimentation du système."
#: src/login/org.freedesktop.login1.policy:128 #: src/login/org.freedesktop.login1.policy:128
msgid "Allow non-logged-in user to run programs" msgid "Allow non-logged-in user to run programs"

View File

@ -3,13 +3,13 @@
# Romanian translation for systemd. # Romanian translation for systemd.
# va511e <va511e@yahoo.com>, 2015. # va511e <va511e@yahoo.com>, 2015.
# Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>, 2015, 2017. # Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>, 2015, 2017.
# Vlad <milovlad@outlook.com>, 2020, 2021. # Vlad <milovlad@outlook.com>, 2020.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd master\n" "Project-Id-Version: systemd master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-08 17:48+0100\n" "POT-Creation-Date: 2021-01-08 17:48+0100\n"
"PO-Revision-Date: 2021-01-12 17:36+0000\n" "PO-Revision-Date: 2020-12-26 08:36+0000\n"
"Last-Translator: Vlad <milovlad@outlook.com>\n" "Last-Translator: Vlad <milovlad@outlook.com>\n"
"Language-Team: Romanian <https://translate.fedoraproject.org/projects/" "Language-Team: Romanian <https://translate.fedoraproject.org/projects/"
"systemd/master/ro/>\n" "systemd/master/ro/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n" "20)) ? 1 : 2;\n"
"X-Generator: Weblate 4.4\n" "X-Generator: Weblate 4.3.2\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -333,18 +333,24 @@ msgstr ""
"comutatorului din capacul sistemului." "comutatorului din capacul sistemului."
#: src/login/org.freedesktop.login1.policy:117 #: src/login/org.freedesktop.login1.policy:117
#, fuzzy
#| msgid "Allow applications to inhibit system handling of the power key"
msgid "Allow applications to inhibit system handling of the reboot key" msgid "Allow applications to inhibit system handling of the reboot key"
msgstr "" msgstr ""
"Permite aplicațiilor să împiedice administrarea butonului de repornire a " "Permite aplicațiilor să împiedice administrarea butonului de pornire a "
"sistemului" "sistemului"
#: src/login/org.freedesktop.login1.policy:118 #: src/login/org.freedesktop.login1.policy:118
#, fuzzy
#| msgid ""
#| "Authentication is required for an application to inhibit system handling "
#| "of the power key."
msgid "" msgid ""
"Authentication is required for an application to inhibit system handling of " "Authentication is required for an application to inhibit system handling of "
"the reboot key." "the reboot key."
msgstr "" msgstr ""
"Autentificarea este necesară pentru ca o aplicație să împiedice " "Autentificarea este necesară pentru ca o aplicație să împiedice "
"administrarea butonului de repornire a sistemului." "administrarea butonului de pornire a sistemului."
#: src/login/org.freedesktop.login1.policy:128 #: src/login/org.freedesktop.login1.policy:128
msgid "Allow non-logged-in user to run programs" msgid "Allow non-logged-in user to run programs"

View File

@ -85,11 +85,6 @@ KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
# The static_node is required on s390x and ppc (they are using MODULE_ALIAS) # The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
KERNEL=="kvm", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=kvm" KERNEL=="kvm", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=kvm"
KERNEL=="vsock", MODE="0666"
KERNEL=="vhost-vsock", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=vhost-vsock"
KERNEL=="vhost-net", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=vhost-net"
KERNEL=="udmabuf", GROUP="kvm" KERNEL=="udmabuf", GROUP="kvm"
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm" SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"

View File

@ -22,6 +22,8 @@
"_" "_"
static bool env_name_is_valid_n(const char *e, size_t n) { static bool env_name_is_valid_n(const char *e, size_t n) {
const char *p;
if (!e) if (!e)
return false; return false;
@ -39,7 +41,7 @@ static bool env_name_is_valid_n(const char *e, size_t n) {
if (n > (size_t) sysconf(_SC_ARG_MAX) - 2) if (n > (size_t) sysconf(_SC_ARG_MAX) - 2)
return false; return false;
for (const char *p = e; p < e + n; p++) for (p = e; p < e + n; p++)
if (!strchr(VALID_BASH_ENV_NAME_CHARS, *p)) if (!strchr(VALID_BASH_ENV_NAME_CHARS, *p))
return false; return false;
@ -187,14 +189,14 @@ static int env_append(char **r, char ***k, char **a) {
char **strv_env_merge(size_t n_lists, ...) { char **strv_env_merge(size_t n_lists, ...) {
_cleanup_strv_free_ char **ret = NULL; _cleanup_strv_free_ char **ret = NULL;
size_t n = 0; size_t n = 0, i;
char **l, **k; char **l, **k;
va_list ap; va_list ap;
/* Merges an arbitrary number of environment sets */ /* Merges an arbitrary number of environment sets */
va_start(ap, n_lists); va_start(ap, n_lists);
for (size_t i = 0; i < n_lists; i++) { for (i = 0; i < n_lists; i++) {
l = va_arg(ap, char**); l = va_arg(ap, char**);
n += strv_length(l); n += strv_length(l);
} }
@ -208,7 +210,7 @@ char **strv_env_merge(size_t n_lists, ...) {
k = ret; k = ret;
va_start(ap, n_lists); va_start(ap, n_lists);
for (size_t i = 0; i < n_lists; i++) { for (i = 0; i < n_lists; i++) {
l = va_arg(ap, char**); l = va_arg(ap, char**);
if (env_append(ret, &k, l) < 0) { if (env_append(ret, &k, l) < 0) {
va_end(ap); va_end(ap);
@ -274,8 +276,10 @@ char **strv_env_delete(char **x, size_t n_lists, ...) {
return NULL; return NULL;
STRV_FOREACH(k, x) { STRV_FOREACH(k, x) {
size_t v;
va_start(ap, n_lists); va_start(ap, n_lists);
for (size_t v = 0; v < n_lists; v++) { for (v = 0; v < n_lists; v++) {
char **l, **j; char **l, **j;
l = va_arg(ap, char**); l = va_arg(ap, char**);
@ -306,6 +310,7 @@ char **strv_env_delete(char **x, size_t n_lists, ...) {
} }
char **strv_env_unset(char **l, const char *p) { char **strv_env_unset(char **l, const char *p) {
char **f, **t; char **f, **t;
if (!l) if (!l)

View File

@ -48,7 +48,9 @@ CustomMount* custom_mount_add(CustomMount **l, size_t *n, CustomMountType t) {
} }
void custom_mount_free_all(CustomMount *l, size_t n) { void custom_mount_free_all(CustomMount *l, size_t n) {
for (size_t i = 0; i < n; i++) { size_t i;
for (i = 0; i < n; i++) {
CustomMount *m = l + i; CustomMount *m = l + i;
free(m->source); free(m->source);
@ -92,6 +94,7 @@ static bool source_path_is_valid(const char *p) {
} }
static char *resolve_source_path(const char *dest, const char *source) { static char *resolve_source_path(const char *dest, const char *source) {
if (!source) if (!source)
return NULL; return NULL;
@ -126,6 +129,7 @@ static int allocate_temporary_source(CustomMount *m) {
} }
int custom_mount_prepare_all(const char *dest, CustomMount *l, size_t n) { int custom_mount_prepare_all(const char *dest, CustomMount *l, size_t n) {
size_t i;
int r; int r;
/* Prepare all custom mounts. This will make source we know all temporary directories. This is called in the /* Prepare all custom mounts. This will make source we know all temporary directories. This is called in the
@ -137,7 +141,7 @@ int custom_mount_prepare_all(const char *dest, CustomMount *l, size_t n) {
/* Order the custom mounts, and make sure we have a working directory */ /* Order the custom mounts, and make sure we have a working directory */
typesafe_qsort(l, n, custom_mount_compare); typesafe_qsort(l, n, custom_mount_compare);
for (size_t i = 0; i < n; i++) { for (i = 0; i < n; i++) {
CustomMount *m = l + i; CustomMount *m = l + i;
/* /proc we mount in the inner child, i.e. when we acquired CLONE_NEWPID. All other mounts we mount /* /proc we mount in the inner child, i.e. when we acquired CLONE_NEWPID. All other mounts we mount
@ -584,9 +588,10 @@ int mount_all(const char *dest,
bool ro = FLAGS_SET(mount_settings, MOUNT_APPLY_APIVFS_RO); bool ro = FLAGS_SET(mount_settings, MOUNT_APPLY_APIVFS_RO);
bool in_userns = FLAGS_SET(mount_settings, MOUNT_IN_USERNS); bool in_userns = FLAGS_SET(mount_settings, MOUNT_IN_USERNS);
bool tmpfs_tmp = FLAGS_SET(mount_settings, MOUNT_APPLY_TMPFS_TMP); bool tmpfs_tmp = FLAGS_SET(mount_settings, MOUNT_APPLY_TMPFS_TMP);
size_t k;
int r; int r;
for (size_t k = 0; k < ELEMENTSOF(mount_table); k++) { for (k = 0; k < ELEMENTSOF(mount_table); k++) {
_cleanup_free_ char *where = NULL, *options = NULL, *prefixed = NULL; _cleanup_free_ char *where = NULL, *options = NULL, *prefixed = NULL;
bool fatal = FLAGS_SET(mount_table[k].mount_settings, MOUNT_FATAL); bool fatal = FLAGS_SET(mount_table[k].mount_settings, MOUNT_FATAL);
const char *o; const char *o;
@ -683,6 +688,7 @@ int mount_all(const char *dest,
} }
static int parse_mount_bind_options(const char *options, unsigned long *mount_flags, char **mount_opts) { static int parse_mount_bind_options(const char *options, unsigned long *mount_flags, char **mount_opts) {
const char *p = options;
unsigned long flags = *mount_flags; unsigned long flags = *mount_flags;
char *opts = NULL; char *opts = NULL;
int r; int r;
@ -692,7 +698,7 @@ static int parse_mount_bind_options(const char *options, unsigned long *mount_fl
for (;;) { for (;;) {
_cleanup_free_ char *word = NULL; _cleanup_free_ char *word = NULL;
r = extract_first_word(&options, &word, ",", 0); r = extract_first_word(&p, &word, ",", 0);
if (r < 0) if (r < 0)
return log_error_errno(r, "Failed to extract mount option: %m"); return log_error_errno(r, "Failed to extract mount option: %m");
if (r == 0) if (r == 0)
@ -702,9 +708,11 @@ static int parse_mount_bind_options(const char *options, unsigned long *mount_fl
flags |= MS_REC; flags |= MS_REC;
else if (streq(word, "norbind")) else if (streq(word, "norbind"))
flags &= ~MS_REC; flags &= ~MS_REC;
else else {
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Invalid bind mount option: %s", word); "Invalid bind mount option: %s",
word);
}
} }
*mount_flags = flags; *mount_flags = flags;
@ -781,6 +789,7 @@ static int mount_bind(const char *dest, CustomMount *m) {
} }
static int mount_tmpfs(const char *dest, CustomMount *m, uid_t uid_shift, const char *selinux_apifs_context) { static int mount_tmpfs(const char *dest, CustomMount *m, uid_t uid_shift, const char *selinux_apifs_context) {
const char *options; const char *options;
_cleanup_free_ char *buf = NULL, *where = NULL; _cleanup_free_ char *buf = NULL, *where = NULL;
int r; int r;
@ -918,11 +927,13 @@ int mount_custom(
uid_t uid_shift, uid_t uid_shift,
const char *selinux_apifs_context, const char *selinux_apifs_context,
MountSettingsMask mount_settings) { MountSettingsMask mount_settings) {
size_t i;
int r; int r;
assert(dest); assert(dest);
for (size_t i = 0; i < n; i++) { for (i = 0; i < n; i++) {
CustomMount *m = mounts + i; CustomMount *m = mounts + i;
if (FLAGS_SET(mount_settings, MOUNT_IN_USERNS) != m->in_userns) if (FLAGS_SET(mount_settings, MOUNT_IN_USERNS) != m->in_userns)
@ -968,14 +979,20 @@ int mount_custom(
} }
bool has_custom_root_mount(const CustomMount *mounts, size_t n) { bool has_custom_root_mount(const CustomMount *mounts, size_t n) {
for (size_t i = 0; i < n; i++) size_t i;
if (path_equal(mounts[i].destination, "/"))
for (i = 0; i < n; i++) {
const CustomMount *m = mounts + i;
if (path_equal(m->destination, "/"))
return true; return true;
}
return false; return false;
} }
static int setup_volatile_state(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) { static int setup_volatile_state(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) {
_cleanup_free_ char *buf = NULL; _cleanup_free_ char *buf = NULL;
const char *p, *options; const char *p, *options;
int r; int r;
@ -1004,6 +1021,7 @@ static int setup_volatile_state(const char *directory, uid_t uid_shift, const ch
} }
static int setup_volatile_yes(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) { static int setup_volatile_yes(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) {
bool tmpfs_mounted = false, bind_mounted = false; bool tmpfs_mounted = false, bind_mounted = false;
char template[] = "/tmp/nspawn-volatile-XXXXXX"; char template[] = "/tmp/nspawn-volatile-XXXXXX";
_cleanup_free_ char *buf = NULL, *bindir = NULL; _cleanup_free_ char *buf = NULL, *bindir = NULL;
@ -1091,6 +1109,7 @@ fail:
} }
static int setup_volatile_overlay(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) { static int setup_volatile_overlay(const char *directory, uid_t uid_shift, const char *selinux_apifs_context) {
_cleanup_free_ char *buf = NULL, *escaped_directory = NULL, *escaped_upper = NULL, *escaped_work = NULL; _cleanup_free_ char *buf = NULL, *escaped_directory = NULL, *escaped_upper = NULL, *escaped_work = NULL;
char template[] = "/tmp/nspawn-volatile-XXXXXX"; char template[] = "/tmp/nspawn-volatile-XXXXXX";
const char *upper, *work, *options; const char *upper, *work, *options;

View File

@ -398,14 +398,16 @@ static int find_paths_to_edit(sd_bus *bus, char **names, char ***paths) {
/* If loading of the unit failed server side complete, then the server won't tell us /* If loading of the unit failed server side complete, then the server won't tell us
* the unit file path. In that case, find the file client side. */ * the unit file path. In that case, find the file client side. */
log_debug_errno(r, "Unit '%s' was not loaded correctly, retrying client-side.", *name); log_debug_errno(r, "Unit '%s' was not loaded correctly, retrying client-side.", *name);
r = unit_find_paths(bus, *name, &lp, true, &cached_name_map, &cached_id_map, &path, &unit_paths); r = unit_find_paths(bus, *name, &lp, true, &cached_name_map, &cached_id_map, &path, NULL);
} }
if (r == -ERFKILL) if (r == -ERFKILL)
return log_error_errno(r, "Unit '%s' masked, cannot edit.", *name); return log_error_errno(r, "Unit '%s' masked, cannot edit.", *name);
if (r < 0) if (r < 0)
return r; return r;
if (!path) { if (r == 0) {
assert(!path);
if (!arg_force) { if (!arg_force) {
log_info("Run 'systemctl edit%s --force --full %s' to create a new unit.", log_info("Run 'systemctl edit%s --force --full %s' to create a new unit.",
arg_scope == UNIT_FILE_GLOBAL ? " --global" : arg_scope == UNIT_FILE_GLOBAL ? " --global" :
@ -420,6 +422,8 @@ static int find_paths_to_edit(sd_bus *bus, char **names, char ***paths) {
arg_full ? NULL : ".d/override.conf", arg_full ? NULL : ".d/override.conf",
NULL, &new_path, &tmp_path); NULL, &new_path, &tmp_path);
} else { } else {
assert(path);
unit_name = basename(path); unit_name = basename(path);
/* We follow unit aliases, but we need to propagate the instance */ /* We follow unit aliases, but we need to propagate the instance */
if (unit_name_is_valid(*name, UNIT_NAME_INSTANCE) && if (unit_name_is_valid(*name, UNIT_NAME_INSTANCE) &&

View File

@ -15,14 +15,15 @@
# See systemd-coredump(8) and core(5). # See systemd-coredump(8) and core(5).
kernel.core_pattern=|@rootlibexecdir@/systemd-coredump %P %u %g %s %t %c %h kernel.core_pattern=|@rootlibexecdir@/systemd-coredump %P %u %g %s %t %c %h
# Allow 16 coredumps to be dispatched in parallel by the kernel. # Allow that 16 coredumps are dispatched in parallel by the kernel. We want to
# We collect metadata from /proc/%P/, and thus need to make sure the crashed # be able to collect process metadata from /proc/%P/ while processing
# processes are not reaped until we have finished collecting what we need. The # coredumps, and thus need to make sure the crashed processes are not reaped
# kernel default for this sysctl is "0" which means the kernel doesn't wait for # until we finished collecting what we need. The kernel default for this sysctl
# userspace to finish processing before reaping the crashed processes. With a # is "0" which means the kernel doesn't wait for userspace processes to finish
# higher setting the kernel will delay reaping until we are done, but only for # processing before reaping the crashed processes — by setting this higher the
# the specified number of crashes in parallel. The value of 16 is chosen to # kernel will delay reaping until we are done, but only for the specified
# match systemd-coredump.socket's MaxConnections= value. # number of crashes in parallel. The value of 16 is chosen to match
# systemd-coredump.socket's MaxConnections= value.
kernel.core_pipe_limit=16 kernel.core_pipe_limit=16
# Also dump processes executing a set-user-ID/set-group-ID program that is # Also dump processes executing a set-user-ID/set-group-ID program that is

View File

@ -15,5 +15,3 @@ z /dev/loop-control 0660 - disk -
z /dev/net/tun 0666 - - - z /dev/net/tun 0666 - - -
z /dev/fuse 0666 - - - z /dev/fuse 0666 - - -
z /dev/kvm @DEV_KVM_MODE@ - kvm - z /dev/kvm @DEV_KVM_MODE@ - kvm -
z /dev/vhost-net @DEV_KVM_MODE@ - kvm -
z /dev/vhost-vsock @DEV_KVM_MODE@ - kvm -