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: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
parent
64ba992675
commit
f75580c4af
|
@ -6,6 +6,6 @@
|
|||
#include <linux/virtio_config.h>
|
||||
|
||||
/* 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 */
|
||||
|
|
|
@ -296,13 +296,15 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args)
|
|||
|
||||
mutex_lock(&virtio_9p_lock);
|
||||
while (index < MAX_9P_CHAN) {
|
||||
if (chan->initialized && !chan->inuse) {
|
||||
chan->inuse = true;
|
||||
break;
|
||||
} else {
|
||||
index++;
|
||||
chan = &channels[index];
|
||||
if (chan->initialized &&
|
||||
!strcmp(devname, dev_name(&chan->vdev->dev))) {
|
||||
if (!chan->inuse) {
|
||||
chan->inuse = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
index++;
|
||||
chan = &channels[index];
|
||||
}
|
||||
mutex_unlock(&virtio_9p_lock);
|
||||
|
||||
|
|
Loading…
Reference in New Issue