Hi Vishal,

Just to confirm that the patch has been Tested-by: Chunhong Mao 
<[email protected]> on my system where the problem was reported initially 
and it does fix the problem, really appreciate your help!

Thanks,
Chunhong

-----Original Message-----
From: Verma, Vishal L <[email protected]> 
Sent: Monday, April 18, 2022 12:48 PM
To: Williams, Dan J <[email protected]>
Cc: [email protected]; Mao, Chunhong <[email protected]>
Subject: Re: [ndctl PATCH] daxctl: fix systemd escaping for 
90-daxctl-device.rules

On Mon, 2022-04-18 at 12:15 -0700, Dan Williams wrote:
> 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?

Good point - I think we're okay. systemd-escape was introduced in v216 back in 
2014 [1], and from a quick glance at repology, even the oldest distros are at 
least on v219 [2].

[1]: https://github.com/systemd/systemd/blob/main/NEWS#L10370
[2]: https://repology.org/project/systemd/versions

> 
> 
> > 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 --template=daxdev-
> > [email protected] $env{DEVNAME}",\
> > +  ENV{SYSTEMD_WANTS}="%c"
> > 
> > base-commit: 97031db9300654260bc2afb45b3600ac01beaeba
> > --
> > 2.35.1
> > 

Reply via email to