vhost-net: minor cleanup
Jeff Dike [Thu, 4 Mar 2010 21:10:14 +0000 (16:10 -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>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

drivers/vhost/net.c

index cd36f5f..0868569 100644 (file)
@@ -519,13 +519,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);