From 744208e7db96c023f0c813708f5ed012f1ae17f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Mon, 9 Mar 2020 11:59:35 +0000 Subject: [PATCH] rpc: fix dispatch for node device APIs for virt drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Despite their names, the following APIs: virNodeDeviceDettach virNodeDeviceDetachFlags virNodeDeviceReAttach virNodeDeviceReset are all handled by the virt drivers, not the node device driver. A bug in the RPC generator meant that these APIs were sent to the nodedev driver for handling. This caused breakage with the split daemons, since nothing was available to process them. Reviewed-by: Michal Privoznik Signed-off-by: Daniel P. Berrangé --- src/rpc/gendispatch.pl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl index 987a136566..c140ed712c 100755 --- a/src/rpc/gendispatch.pl +++ b/src/rpc/gendispatch.pl @@ -171,7 +171,13 @@ sub get_conn_method { if ($proc =~ /Connect.*Network/) { return "remoteGetNetworkConn"; } - if ($proc =~ /Node.*Device/) { + # Carefully whitelist a few APIs with NodeDevice name + # prefix which actually get handled by the virt drivers + if ($proc =~ /Node.*Device/ && + !($proc =~ /NodeDeviceReset/ || + $proc =~ /NodeDeviceReAttach/ || + $proc =~ /NodeDeviceDettach/ || + $proc =~ /NodeDeviceDetachFlags/)) { return "remoteGetNodeDevConn"; } if ($proc =~ /Connect.*NWFilter/) {