[libvirt] [PATCH] network: fix network driver startup for qemu:///session
Eric Blake
eblake at redhat.com
Thu May 2 18:27:01 UTC 2013
On 05/02/2013 12:22 PM, Eric Blake wrote:
> On 05/02/2013 12:06 PM, Laine Stump wrote:
>> This should resolve https://bugzilla.redhat.com/show_bug.cgi?id=958907
>>
>> Recent new addition of code to read/write active network state to the
>> NETWORK_STATE_DIR in the network driver broke startup for
>> qemu:///session. The network driver had several state file paths
>> hardcoded to /var, which could never possibly work in session mode.
>>
>>
>> -#define NETWORK_PID_DIR LOCALSTATEDIR "/run/libvirt/network"
>
> So previously, this constant represented the network runtime directory
> relative to the configured state dir (default /var in a distro
> installation)...
>
>> -#define NETWORK_STATE_DIR LOCALSTATEDIR "/lib/libvirt/network"
>> +#define NETWORK_PID_DIR "/run/libvirt/network"
>
> Now it is just the relative suffix of an (as-yet) unspecified prefix...
Oh, one more thing. I would write this as "run/libvirt/network" to make
it obvious it will be relative to some other directory...
>> if (privileged) {
>> - if (virAsprintf(&driverState->logDir,
>> - "%s/log/libvirt/qemu", LOCALSTATEDIR) == -1)
>> - goto out_of_memory;
>> -
>> - if ((base = strdup(SYSCONFDIR "/libvirt")) == NULL)
>> + if (((base = strdup(SYSCONFDIR "/libvirt")) == NULL) ||
>> + ((driverState->logDir
>> + = strdup(LOCALSTATEDIR "/log/libvirt/qemu")) == NULL) ||
>> + ((driverState->stateDir
>> + = strdup(LOCALSTATEDIR NETWORK_STATE_DIR)) == NULL) ||
>
> ...privileged initialization uses LOCALSTATEDIR as its location where
> the now-relative NETWORK_STATE_DIR is placed,...[1]
and here initialize it as strdup(LOCALSTATEDIR "/" NETWORK_STATE_DIR),
to make it obvious that we are pasting a directory and a relative path.
(My eyes kind of gloss over ' ' vs. '_', but a "/" in the middle is
easier to spot).
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130502/2d46a762/attachment-0001.sig>
More information about the libvir-list
mailing list