Re: [KVM-AUTOTEST PATCH] Instead of trying to remove kvm modules with rmmod, use modprobe -r, as it handles module dependencies better

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike Burns wrote:
Lucas Meneghel Rodrigues wrote:
In certain situations, trying to do a rmmod on the kvm modules might
generate errors, as there is a chain of dependencies involved. Instead,
let's use modprobe -r, as it handles dependencies.

Signed-off-by: Lucas Meneghel Rodrigues <mrodrigu@xxxxxxxxxx>

diff --git a/client/tests/kvm_runtest_2/kvm_install.py b/client/tests/kvm_runtes
index dbf8401..c27c6c7 100755
--- a/client/tests/kvm_runtest_2/kvm_install.py
+++ b/client/tests/kvm_runtest_2/kvm_install.py
@@ -192,9 +192,9 @@ def __load_kvm_modules():
     #utils.system("pkill qemu 1>/dev/null 2>&1", ignore_status=True)
     utils.system("pkill qemu", ignore_status=True)
     #if utils.system("grep kvm_%s /proc/modules 1>/dev/null" % vendor, ignore_s
-    utils.system("/sbin/rmmod kvm_%s" % vendor, ignore_status=True)
+    utils.system("/sbin/modprobe -r kvm_%s" % vendor, ignore_status=True)
#if utils.system("grep kvm /proc/modules 1>/dev/null", ignore_status=True) - utils.system("/sbin/rmmod kvm", ignore_status=True)
+    utils.system("/sbin/modprobe -r kvm", ignore_status=True)
if utils.system("grep kvm /proc/modules 1>/dev/null", ignore_status=True) =
         message = "Failed to remove old KVM modules"

In normal situations, this works perfectly fine.  It also suppresses the
output to stderr if a module is not already loaded on the machine. Errors are are still encountered, however, if another module is
installed that depends on one of the modules kvm_install is trying to
remove.  In my environment, I have a module, ksm, which depends on kvm
being loaded.  If I modprobe -r kvm, them it will fail saying "Module
kvm is in use".  Overall, this is a minimal impact change that doesn't
cause any problems, but it doesn't seem to address the initial problem
of having other modules that depend on one of the kvm modules.

Ignoring status is a recipe for disaster. Instead we should check if the modules are loaded and only unload then (and fail if we can't).

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux