{"action":"created","issue":{"url":"https://api.github.com/repos/Harvey-OS/harvey/issues/391","repository_url":"https://api.github.com/repos/Harvey-OS/harvey","labels_url":"https://api.github.com/repos/Harvey-OS/harvey/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/Harvey-OS/harvey/issues/391/comments","events_url":"https://api.github.com/repos/Harvey-OS/harvey/issues/391/events","html_url":"https://github.com/Harvey-OS/harvey/pull/391","id":197956456,"number":391,"title":"9p proxy over virtqueue","user":{"login":"dmgolubovsky","id":8682811,"avatar_url":"https://avatars.githubusercontent.com/u/8682811?v=3","gravatar_id":"","url":"https://api.github.com/users/dmgolubovsky","html_url":"https://github.com/dmgolubovsky","followers_url":"https://api.github.com/users/dmgolubovsky/followers","following_url":"https://api.github.com/users/dmgolubovsky/following{/other_user}","gists_url":"https://api.github.com/users/dmgolubovsky/gists{/gist_id}","starred_url":"https://api.github.com/users/dmgolubovsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmgolubovsky/subscriptions","organizations_url":"https://api.github.com/users/dmgolubovsky/orgs","repos_url":"https://api.github.com/users/dmgolubovsky/repos","events_url":"https://api.github.com/users/dmgolubovsky/events{/privacy}","received_events_url":"https://api.github.com/users/dmgolubovsky/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-29T05:40:30Z","updated_at":"2016-12-29T15:33:20Z","closed_at":"2016-12-29T05:56:22Z","pull_request":{"url":"https://api.github.com/repos/Harvey-OS/harvey/pulls/391","html_url":"https://github.com/Harvey-OS/harvey/pull/391","diff_url":"https://github.com/Harvey-OS/harvey/pull/391.diff","patch_url":"https://github.com/Harvey-OS/harvey/pull/391.patch"},"body":"I previously proposed to add 9p support to the virtio-serial-pci driver (aka virtconsole) but this was not accepted. Here I am proposing a similar solution, but using an userspace proxy program. The program (9pvpxy) simply reads 9p messages from its std input and sends to the virtqueue, receiving buffers from the virtqueue and minimally massaging them to write 9p messages of proper length to its std output.\r\n\r\nExample usage:\r\n\r\n```\r\nsrv -e '9pvpxy /dev/virtcon/virtio-console-2' vc2\r\nmount -c -n /srv/vc2 /mnt/xxx\r\n```\r\n\r\nThe proxy was tested same way as the 9p virtio was tested (dd file read-write). It showed lower speeds and less stability than the 9p native virtio, but it allows to have arbitrary 9p servers on the host (ufs is just an example) while native 9p does not allow that (cannot be connected to a pipe, only to a FS device).\r\n\r\nHopefully this approach is more acceptable.\r\n\r\nThanks."},"comment":{"url":"https://api.github.com/repos/Harvey-OS/harvey/issues/comments/269646599","html_url":"https://github.com/Harvey-OS/harvey/pull/391#issuecomment-269646599","issue_url":"https://api.github.com/repos/Harvey-OS/harvey/issues/391","id":269646599,"user":{"login":"elbing","id":1543908,"avatar_url":"https://avatars.githubusercontent.com/u/1543908?v=3","gravatar_id":"","url":"https://api.github.com/users/elbing","html_url":"https://github.com/elbing","followers_url":"https://api.github.com/users/elbing/followers","following_url":"https://api.github.com/users/elbing/following{/other_user}","gists_url":"https://api.github.com/users/elbing/gists{/gist_id}","starred_url":"https://api.github.com/users/elbing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elbing/subscriptions","organizations_url":"https://api.github.com/users/elbing/orgs","repos_url":"https://api.github.com/users/elbing/repos","events_url":"https://api.github.com/users/elbing/events{/privacy}","received_events_url":"https://api.github.com/users/elbing/received_events","type":"User","site_admin":false},"created_at":"2016-12-29T15:33:20Z","updated_at":"2016-12-29T15:33:20Z","body":"Tell us how to run this with qemu (qemu/kvm command line) and I'll update Harvey's Wiki with virtio info, and in future default qemu scripts. I think most of us wouldn't know where to start :-D."}}
{"actor":{"display_login":"elbing"}}