summaryrefslogtreecommitdiffstats
path: root/net/9p/trans_virtio.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2010-02-15 18:27:00 +0100
committerEric Van Hensbergen <ericvh@gmail.com>2010-03-05 22:04:41 +0100
commitf75580c4afb72c156746b3fc1ec977b1a85d3dee (patch)
treeb576ddedbb51a0227597920dd849e98487c872fb /net/9p/trans_virtio.c
parentMerge branch 'for-linus' of git://git.open-osd.org/linux-open-osd (diff)
downloadlinux-f75580c4afb72c156746b3fc1ec977b1a85d3dee.tar.xz
linux-f75580c4afb72c156746b3fc1ec977b1a85d3dee.zip
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>
Diffstat (limited to 'net/9p/trans_virtio.c')
-rw-r--r--net/9p/trans_virtio.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index cb50f4ae5eef..df924e5657d3 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -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);