[libvirt] [PATCH] Mark defined networks as persistent

Jim Meyering jim at meyering.net
Mon Mar 2 12:37:38 UTC 2009


Cole Robinson wrote:
> We aren't setting the persistent bit when a network is defined, so
> 'destroy' makes them disappear (though they will reappear later since
> their persistent config is never removed).
>
> Attached patch fixes this.

Hi Cole,

Looks like you're on the right track.
My reflex was to test for it...
What before/after behavior change should I see?
I tried this:

  cat <<EOF > net.xml
  <network>
    <name>N</name>
    <ip address="192.168.199.1" netmask="255.255.255.0"></ip>
  </network>
  EOF
  qemud/libvirtd &
  src/virsh 'net-define net.xml; net-destroy N; net-list'

Then net-dumpxml N shows it's still there, as it should be.
Of course, net-undefine does get rid of it for good, but you mentioned
"destroy" above.
Did I miss something?

> diff --git a/src/network_conf.c b/src/network_conf.c
> index e19f0fe..6ad0d01 100644
> --- a/src/network_conf.c
> +++ b/src/network_conf.c
> @@ -747,6 +747,7 @@ virNetworkObjPtr virNetworkLoadConfig(virConnectPtr conn,
>          goto error;
>
>      net->autostart = autostart;
> +    net->persistent = 1;
>
>      VIR_FREE(configFile);
>      VIR_FREE(autostartLink);
> diff --git a/src/network_driver.c b/src/network_driver.c
> index 3c765c8..4b9c666 100644
> --- a/src/network_driver.c
> +++ b/src/network_driver.c
> @@ -1153,6 +1153,8 @@ static virNetworkPtr networkDefine(virConnectPtr conn, const char *xml) {
>          goto cleanup;
>      def = NULL;
>
> +    network->persistent = 1;
> +
>      if (virNetworkSaveConfig(conn,
>                               driver->networkConfigDir,
>                               network->newDef ? network->newDef : network->def) < 0) {




More information about the libvir-list mailing list