Messages in this thread Patch in this message | | | Date | Thu, 4 Mar 2010 16:10:14 -0500 | From | Jeff Dike <> | Subject | [PATCH 2/2] vhost - cleanup |
| |
commit 1191aa42193d030470dbd4ab17e4fb57772534ff Author: Jeff Dike <jdike@localhost.localdomain> Date: Thu Mar 4 14:51:20 2010 -0500
Delete a label and goto from vhost_net_set_backend
Inverting a test allows a label and goto to be eliminated.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 4ada4b4..7abb883 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -518,13 +518,12 @@ static long vhost_net_set_backend(struct vhost_net *n, unsigned index, int fd) /* start polling new socket */ oldsock = vq->private_data; - if (sock == oldsock) - goto done; + if (sock != oldsock){ + vhost_net_disable_vq(n, vq); + rcu_assign_pointer(vq->private_data, sock); + vhost_net_enable_vq(n, vq); + } - vhost_net_disable_vq(n, vq); - rcu_assign_pointer(vq->private_data, sock); - vhost_net_enable_vq(n, vq); -done: if (oldsock) { vhost_net_flush_vq(n, index); fput(oldsock->file);
| |