Message ID | 20210914150220.2467-1-chrubis@suse.cz |
---|---|
State | Accepted |
Headers | show |
Series | lib: tst_virt: Add option to override virt detection | expand |
On Tue, Sep 14, 2021 at 11:02 PM Cyril Hrubis <chrubis@suse.cz> wrote: > There seems to be cases where systemd-detect-virt does not detect > virtualization correctly. To work around this bugs this commit adds a > a support for LTP_VIRT_OVERRIDE environment variable that if set is used > instead of the output from the systemd-detect-virt command. > > Signed-off-by: Cyril Hrubis <chrubis@suse.cz> > Reviewed-by: Li Wang <liwang@redhat.com>
Hi! > > There seems to be cases where systemd-detect-virt does not detect > > virtualization correctly. To work around this bugs this commit adds a > > a support for LTP_VIRT_OVERRIDE environment variable that if set is used > > instead of the output from the systemd-detect-virt command. > > > > Signed-off-by: Cyril Hrubis <chrubis@suse.cz> > > > > Reviewed-by: Li Wang <liwang@redhat.com> I've added a description for the variable into doc/user-guide.txt and pushed, thanks.
diff --git a/lib/tst_virt.c b/lib/tst_virt.c index d23d7f564..0fda20a17 100644 --- a/lib/tst_virt.c +++ b/lib/tst_virt.c @@ -100,8 +100,18 @@ static int is_ibmz(int virt_type) static int try_systemd_detect_virt(void) { FILE *f; - char virt_type[64]; + char virt_buf[64]; int ret; + char *virt_type = getenv("LTP_VIRT_OVERRIDE"); + + if (virt_type) { + if (!strcmp("", virt_type)) + return 0; + + goto cmp; + } + + virt_type = virt_buf; /* See tst_cmd.c */ void *old_handler = signal(SIGCHLD, SIG_DFL); @@ -129,6 +139,7 @@ static int try_systemd_detect_virt(void) if (ret) return 0; +cmp: if (!strncmp("kvm", virt_type, 3)) return VIRT_KVM;
There seems to be cases where systemd-detect-virt does not detect virtualization correctly. To work around this bugs this commit adds a a support for LTP_VIRT_OVERRIDE environment variable that if set is used instead of the output from the systemd-detect-virt command. Signed-off-by: Cyril Hrubis <chrubis@suse.cz> --- lib/tst_virt.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)