On Mon, Apr 18, 2022 at 11:54 AM Vishal Verma <[email protected]> wrote:
>
> Older systemd was more tolerant of how unit names are passed in for
> instantiated services via a udev rule, but of late, systemd flags
> unescaped unit names, with an error such as:
>
>   fedora systemd[1]: Invalid unit name 
> "daxdev-reconfigure@/dev/dax0.0.service"
>   escaped as "[email protected]" (maybe you should use
>   systemd-escape?).
>

Does systemd-escape exist on older systemd deployments? Is some new
systemd version detection or 'systemd-escape' detection needed in the
build configuration to select the format of 90-daxctl-device.rules?


> Update the udev rule to pass the 'DEVNAME' from env through an
> appropriate systemd-escape template so that it generates the correctly
> escaped string.
>
> Cc: Dan Williams <[email protected]>
> Reported-by: Chunhong Mao <[email protected]>
> Signed-off-by: Vishal Verma <[email protected]>
> ---
>  daxctl/90-daxctl-device.rules | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/daxctl/90-daxctl-device.rules b/daxctl/90-daxctl-device.rules
> index ee0670f..e02e7ec 100644
> --- a/daxctl/90-daxctl-device.rules
> +++ b/daxctl/90-daxctl-device.rules
> @@ -1 +1,3 @@
> -ACTION=="add", SUBSYSTEM=="dax", TAG+="systemd", 
> ENV{SYSTEMD_WANTS}="daxdev-reconfigure@$env{DEVNAME}.service"
> +ACTION=="add", SUBSYSTEM=="dax", TAG+="systemd",\
> +  PROGRAM="/usr/bin/systemd-escape -p [email protected] 
> $env{DEVNAME}",\
> +  ENV{SYSTEMD_WANTS}="%c"
>
> base-commit: 97031db9300654260bc2afb45b3600ac01beaeba
> --
> 2.35.1
>

Reply via email to