Revision 5c3234c6

b/hw/9pfs/virtio-9p.c
3606 3606
    [P9_TREMOVE] = v9fs_remove,
3607 3607
};
3608 3608

  
3609
static void v9fs_op_not_supp(V9fsState *s, V9fsPDU *pdu)
3610
{
3611
    complete_pdu(s, pdu, -EOPNOTSUPP);
3612
}
3613

  
3609 3614
static void submit_pdu(V9fsState *s, V9fsPDU *pdu)
3610 3615
{
3611 3616
    pdu_handler_t *handler;
......
3613 3618
    if (debug_9p_pdu) {
3614 3619
        pprint_pdu(pdu);
3615 3620
    }
3616

  
3617
    BUG_ON(pdu->id >= ARRAY_SIZE(pdu_handlers));
3618

  
3619
    handler = pdu_handlers[pdu->id];
3620
    BUG_ON(handler == NULL);
3621

  
3621
    if (pdu->id >= ARRAY_SIZE(pdu_handlers) ||
3622
        (pdu_handlers[pdu->id] == NULL)) {
3623
        handler = v9fs_op_not_supp;
3624
    } else {
3625
        handler = pdu_handlers[pdu->id];
3626
    }
3622 3627
    handler(s, pdu);
3623 3628
}
3624 3629

  

Also available in: Unified diff