Patchwork virtio-9p: Return ENOSYS for unhandled requests.

login
register
mail settings
Submitter Kusanagi Kouichi
Date April 1, 2011, 4:31 p.m.
Message ID <20110401163141.0C24515C039@msa104.auone-net.jp>
Download mbox | patch
Permalink /patch/89325/
State New
Headers show

Comments

Kusanagi Kouichi - April 1, 2011, 4:31 p.m.
Linux 2.6.39-rc1 guest causes qemu to abort when it sync or umount
a rw 9p mount.

Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp>
---
 hw/virtio-9p.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

Patch

diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c
index 7c59988..03cd957 100644
--- a/hw/virtio-9p.c
+++ b/hw/virtio-9p.c
@@ -3597,9 +3597,11 @@  static void submit_pdu(V9fsState *s, V9fsPDU *pdu)
     BUG_ON(pdu->id >= ARRAY_SIZE(pdu_handlers));
 
     handler = pdu_handlers[pdu->id];
-    BUG_ON(handler == NULL);
-
-    handler(s, pdu);
+    if (handler == NULL) {
+        complete_pdu(s, pdu, ENOSYS);
+    } else {
+        handler(s, pdu);
+    }
 }
 
 static void handle_9p_output(VirtIODevice *vdev, VirtQueue *vq)