vhost: keep device identifier after reset owner
authorJerome Jutteau <jerome.jutteau@outscale.com>
Mon, 19 Oct 2015 09:44:26 +0000 (11:44 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 21 Oct 2015 10:03:57 +0000 (12:03 +0200)
virtio-net clean and init device after a VHOST_USER_RESET_OWNER.
This reset device identifier to 0 and break ll_root listing logic.
This patch keep the old device identifier and re-write it on the cleaned
device.

Signed-off-by: Jerome Jutteau <jerome.jutteau@outscale.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
lib/librte_vhost/virtio-net.c

index d0f1764..955a29d 100644 (file)
@@ -399,11 +399,14 @@ static int
 reset_owner(struct vhost_device_ctx ctx)
 {
        struct virtio_net_config_ll *ll_dev;
+       uint64_t device_fh;
 
        ll_dev = get_config_ll_entry(ctx);
+       device_fh = ll_dev->dev.device_fh;
 
        cleanup_device(&ll_dev->dev);
        init_device(&ll_dev->dev);
+       ll_dev->dev.device_fh = device_fh;
 
        return 0;
 }