Skip to content

Commit

Permalink
net/9p: Add multi channel support.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Aneesh Kumar K.V authored and Eric Van Hensbergen committed Mar 5, 2010
1 parent 64ba992 commit f75580c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion include/linux/virtio_9p.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
14 changes: 8 additions & 6 deletions net/9p/trans_virtio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit f75580c

Please sign in to comment.