summaryrefslogtreecommitdiff
path: root/src/core/swap.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-06-02 15:49:10 +0200
committerLennart Poettering <lennart@poettering.net>2021-06-03 15:01:05 +0200
commite82c6e8b6230b237c838f053d52baa3297668eaa (patch)
treec9dc45a24db369591e33fa59d2e2dd4fdbac954c /src/core/swap.c
parent6aeb8c89bab2cf8055128dd091b9ad58cdeb71c2 (diff)
downloadsystemd-e82c6e8b6230b237c838f053d52baa3297668eaa.tar.gz
pid1: don't choke on overly long device paths
This mimics what we do for device units: if there's a device we cannot synthesize a good swap unit name for, then proceed without failure.
Diffstat (limited to 'src/core/swap.c')
-rw-r--r--src/core/swap.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/swap.c b/src/core/swap.c
index fc781a3815..8aecc391e7 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -1426,13 +1426,14 @@ int swap_process_device_new(Manager *m, sd_device *dev) {
assert(m);
assert(dev);
- r = sd_device_get_devname(dev, &dn);
- if (r < 0)
+ if (sd_device_get_devname(dev, &dn) < 0)
return 0;
r = unit_name_from_path(dn, ".swap", &e);
- if (r < 0)
- return r;
+ if (r < 0) {
+ log_debug_errno(r, "Cannot convert device name '%s' to unit name, ignoring: %m", dn);
+ return 0;
+ }
u = manager_get_unit(m, e);
if (u)