Differentiate between vserver host and guest.
authorElan Ruusamäe <glen@pld-linux.org>
Mon, 2 Sep 2013 14:24:11 +0000 (15:24 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 31 Oct 2016 10:14:40 +0000 (06:14 -0400)
RWMJ: Update documentation and tests.
(cherry picked from commit d409914d13b88541402fe871d70e3dff9d738455)

tests/test-linux-vserver.sh
virt-what.in
virt-what.pod

index 40d75a5..7988f81 100755 (executable)
@@ -19,7 +19,8 @@
 root=tests/linux-vserver
 
 output="$(./virt-what --test-root=$root 2>&1)"
-expected="linux_vserver"
+expected="linux_vserver
+linux_vserver-guest"
 
 if [ "$output" != "$expected" ]; then
     echo "$0: test failed because output did not match expected"
index f12c95b..422f6d0 100644 (file)
@@ -147,6 +147,11 @@ fi
 # Check for Linux-VServer
 if cat "${root}/proc/self/status" | grep -q "VxID: [0-9]*"; then
     echo linux_vserver
+    if grep -q "VxID: 0$" "${root}/proc/self/status"; then
+        echo linux_vserver-host
+    else
+        echo linux_vserver-guest
+    fi
 fi
 
 # Check for UML.
index 98cd4af..bff2998 100644 (file)
@@ -62,10 +62,22 @@ Status: confirmed by RWMJ using a Fedora guest running in z/VM
 
 =item B<linux_vserver>
 
+This is printed for backwards compatibility with older virt-what which
+could not distinguish between a Linux VServer container guest and
+host.
+
+=item B<linux_vserver-guest>
+
 This process is running in a Linux VServer container.
 
 Status: contributed by Barış Metin
 
+=item B<linux_vserver-host>
+
+This process is running as the Linux VServer host (VxID 0).
+
+Status: contributed by Barış Metin and Elan Ruusamäe
+
 =item B<lxc>
 
 This process is running in a Linux LXC container.