]> Pileus Git - ~andy/linux/commitdiff
vhost-net: minor cleanup
authorJeff Dike <jdike@addtoit.com>
Thu, 4 Mar 2010 21:10:14 +0000 (16:10 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 27 May 2010 09:25:37 +0000 (12:25 +0300)
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 cd36f5ff225541ff07e4fab74da45f51455a642f..0868569d7124a50263e623ae2c0c72f9dce3f470 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);