• D
    rpc: avoid name lookup when dispatching node device APIs · 69eee587
    Daniel P. Berrangé 提交于
    The node device APIs are a little unusual because we don't use a
    "remote_nonnull_node_device" object on the wire, instead we just
    have a "remote_string" for the device name. This meant dispatcher
    code generation needed special cases. In doing so we mistakenly
    used the virNodeDeviceLookupByName() API which gets dispatched
    into the driver, instead of get_nonnull_node_device() which
    directly populates a virNodeDevicePtr object.
    
    This wasn't a problem with monolithic libvirtd, as the
    virNodeDeviceLookupByName() API call was trivially satisfied
    by the registered driver, albeit with an extra (undesirable)
    authentication check. With the split daemons, the call to
    virNodeDeviceLookupByName() fails in virtqemud, because the
    node device driver obviously doesn't exist in that daemon.
    Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
    Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
    69eee587
gendispatch.pl 93.6 KB