With this patch we have
# mount -t 9p -o trans=virtio virtio2 /mnt/
# mount -t 9p -o trans=virtio virtio2 /mnt/
mount: virtio2 already mounted or /mnt/ busy
mount: according to mtab, virtio2 is already mounted on /mnt
# mount -t 9p -o trans=virtio virtio3 /mnt/ -o debug=0xfff
mount: special device virtio3 does not exist
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
 p9_virtio_create(struct p9_client *client, const char *devname, char *args)
 {
        struct virtio_chan *chan;
+       int ret = -ENOENT;
        int found = 0;
 
        mutex_lock(&virtio_9p_lock);
                                found = 1;
                                break;
                        }
+                       ret = -EBUSY;
                }
        }
        mutex_unlock(&virtio_9p_lock);
 
        if (!found) {
                printk(KERN_ERR "9p: no channels available\n");
-               return -ENODEV;
+               return ret;
        }
 
        client->trans = (void *)chan;