From: Aneesh Kumar K.V Date: Mon, 15 Feb 2010 17:27:02 +0000 (+0000) Subject: net/9p: Handle mount errors correctly. X-Git-Tag: MMI-PSA29.97-13-9~24799^2~5 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c1a7c2262035e83a8f70ebe1328b3451702cf51b;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git net/9p: Handle mount errors correctly. 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 Signed-off-by: Eric Van Hensbergen --- diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index 05918d3cb40d..0aaed4819379 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c @@ -279,6 +279,7 @@ static int 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); @@ -289,13 +290,14 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args) 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;