From 6ca6653d33c638cd4649ceb31b2315f677555659 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 20 Sep 2015 14:03:39 +0200 Subject: [PATCH] ceph-disk: - is translated into / with systemd When running ceph-disk trigger /dev/dm-1 with systemd, the path name is translated into /dev/dm/1 because of systemd escape rules. Explicitly translate - into \x2d for systemd to preserve the -. It would be better to use systemd-escape http://www.freedesktop.org/software/systemd/man/systemd-escape.html but it does not appear to be generally available on CentOS 7 and probably other distributions. http://tracker.ceph.com/issues/13174 Fixes: #13174 Signed-off-by: Loic Dachary --- src/ceph-disk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ceph-disk b/src/ceph-disk index 55319f9fe4096..70fe4238af2ff 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -3022,8 +3022,11 @@ def main_zap(args): ########################### def main_trigger(args): + LOG.debug("main_trigger: " + str(args)) if is_systemd() and not args.sync: - service='ceph-disk@{dev}.service'.format(dev=args.dev) + # http://www.freedesktop.org/software/systemd/man/systemd-escape.html + escaped_dev = args.dev.replace('-', '\\x2d') + service='ceph-disk@{dev}.service'.format(dev=escaped_dev) LOG.info('systemd detected, triggering %s' % service) command( [ -- 2.39.5