[systemd-devel] [PATCH] detect-virt: do not return exit failure code when the state is none
joeyli
jlee at suse.com
Fri May 25 07:33:39 UTC 2018
Hi Lennart,
Thanks for your review and response...
On Thu, May 24, 2018 at 12:20:36PM +0200, Lennart Poettering wrote:
> On Do, 24.05.18 13:47, Lee, Chun-Yi (joeyli.kernel at gmail.com) wrote:
>
> > Currently the systemd-detect-virt returns exit failure code when it
> > detected none state. But actually the none state is still a valid
> > state but not a process failed.
> >
> > This patch changes the logic to return success code when the state
> > is none. It can avoid that subsequent activity is blocked by the
> > failure code of systemd-detect-virt process.
>
> This is supposed to be used in shell script constructs like the
> following:
>
> <snip>
> if systemd-detect-virt -q ; then
> echo "Detected virtualization"
> else
> echo "Detected no virtualization"
> fi
> </snip>
>
> That exit code hence is used as boolean indication whether
> virtualization is available or not. And this behaviour is explicitly
> documented in the man page. It's API and for a good reason so. Even if
> we could break API just like that we really shouldn't because such if
> constructs make a ton of sense and are generally how shell does this,
> see the "test" command for example.
>
> Sorry, but you need to find a different way to do what you are trying
> to do...
>
> Sorry,
>
hm.... I avoid writing script by "RUN+=" in the rule.
Do you have good idea to inhibit the exit failure to avoid the subsequent
activity be blocked?
Or, can we add a new option to systemd-detect-virt to inhibit the exit
failure code when the state is none?
Thanks a lot!
Joey Lee
More information about the systemd-devel
mailing list