diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-02-01 11:39:11 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-02-01 11:39:11 +0100 |
commit | c248c80dfdfacadb9460a8831ffff45ed382e48a (patch) | |
tree | 77ee6487de211beb0f62958619a8cf468dfb156c | |
parent | da21f8743ae66ddec9dc596f0c182747f8b00daa (diff) | |
parent | 0037a669ac9a2bbedccdb2f483111351e8ff4659 (diff) |
Merge pull request #2481 from xnox/pretty-ccw
udev: net_id - for ccw bus, shorten the identifier and stip leading z…
-rw-r--r-- | src/udev/udev-builtin-net_id.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c index 104d5111c5..4f8a759d04 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -36,7 +36,7 @@ * * Type of names: * b<number> -- BCMA bus core number - * ccw<name> -- CCW bus group name + * c<bus_id> -- CCW bus group name, without leading zeros [s390] * o<index>[d<dev_port>] -- on-board device index number * s<slot>[f<function>][d<dev_port>] -- hotplug slot index number * x<MAC> -- MAC address @@ -430,8 +430,15 @@ static int names_ccw(struct udev_device *dev, struct netnames *names) { if (!bus_id_len || bus_id_len < 8 || bus_id_len > 9) return -EINVAL; + /* Strip leading zeros from the bus id for aesthetic purposes. This + * keeps the ccw names stable, yet much shorter in general case of + * bus_id 0.0.0600 -> 600. This is similar to e.g. how PCI domain is + * not prepended when it is zero. + */ + bus_id += strspn(bus_id, ".0"); + /* Store the CCW bus-ID for use as network device name */ - rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); + rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "c%s", bus_id); if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) names->type = NET_CCWGROUP; return 0; |