Commit f75580c4 authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Eric Van Hensbergen

net/9p: Add multi channel support.

This is needed for supporting multiple mount points.

We can find out the device names to be used with mount by checking

/sys/devices/virtio-pci/virtio*/device file

if the device file have value 9 then the specific virtio device can
be used for mounting.

ex:
 #cat /sys/devices/virtio-pci/virtio1/device
 9

now we can mount using
# mount -t 9p -o trans=virtio virtio1  /mnt/
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
parent 64ba9926
...@@ -6,6 +6,6 @@ ...@@ -6,6 +6,6 @@
#include <linux/virtio_config.h> #include <linux/virtio_config.h>
/* Maximum number of virtio channels per partition (1 for now) */ /* Maximum number of virtio channels per partition (1 for now) */
#define MAX_9P_CHAN 1 #define MAX_9P_CHAN 10
#endif /* _LINUX_VIRTIO_9P_H */ #endif /* _LINUX_VIRTIO_9P_H */
...@@ -296,14 +296,16 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args) ...@@ -296,14 +296,16 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args)
mutex_lock(&virtio_9p_lock); mutex_lock(&virtio_9p_lock);
while (index < MAX_9P_CHAN) { while (index < MAX_9P_CHAN) {
if (chan->initialized && !chan->inuse) { if (chan->initialized &&
!strcmp(devname, dev_name(&chan->vdev->dev))) {
if (!chan->inuse) {
chan->inuse = true; chan->inuse = true;
break; break;
} else { }
}
index++; index++;
chan = &channels[index]; chan = &channels[index];
} }
}
mutex_unlock(&virtio_9p_lock); mutex_unlock(&virtio_9p_lock);
if (index >= MAX_9P_CHAN) { if (index >= MAX_9P_CHAN) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment