[PATCH 0/2] Fix calling of virNetworkUpdate() driver callback

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

 



See 2/2 for explanation.

BUT, I am not fully convinced about changing XDR though. In my testing
it did not really show to be that backward compatible. I did the
following tests:

1) run libvirtd unpatched,
2) run libvirtd with just arguments if the callback fixed (i.e. just the
   first hunk of 2/2),
3) run libvirtd with patch 2/2 as is

And also, I repeated the same for split daemon using qemu:///system and
network:///system URIs. I've tested the following command:

  virsh net-update default add dns-txt '<txt name="example" value="example value"/>'

and if I got the following error message:

  Operation not supported: can't update 'ip' section of network 'default'

I knew that arguments are swapped (because 'add' command has value 3,
'dns-txt' section has value 11 and 'ip' section has value 3).

>From the results I've constructed the following tables:

              | libvirtd (case 1) | libvirtd + swap (case 2) | libvirtd + RPC (case 3)
--------------+-------------------+--------------------------+------------------------
client        |         1         |         0                |      0
client + swap |         0         |         1                |      1
client + RPC  |         0         |         1                |      1

Both client and libvirtd were tested for all three cases as described
above; 1 means success (API returned without an error), 0 means the
error message from above was observed. For libvirtd I've tested just
qemu:///system, because network:///system has to yield the same results.

For split daemon (SD) case:

qemu:///system

              | SD (case 1) | SD + swap (case 2) | SD + RPC (case 3)
--------------+-------------+--------------------+------------------
client        |     0       |         0          |      0
client + swap |     1       |         1          |      1
client + RPC  |     1       |         1          |      1


network:///system

              | SD (case 1) | SD + swap (case 2) | SD + RPC (case 3)
--------------+-------------+--------------------+------------------
client        |     1       |         0          |      0
client + swap |     0       |         1          |      1
client + RPC  |     0       |         1          |      1


Therefore, what I am trying to say is, there is no case where plain swap
(= case 2) would not help and including RPC change (= case 3) would
help. Maybe I'm missing something?


Michal Prívozník (2):
  lib: Debug print all arguments of virNetworkUpdate()
  lib: Fix calling of virNetworkUpdate() driver callback

 src/libvirt-network.c        | 6 +++---
 src/remote/remote_protocol.x | 7 ++++++-
 src/remote_protocol-structs  | 2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)

-- 
2.26.2




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux