tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: panic: biodone2 already



On Fri, Aug 17, 2018 at 02:23:16AM +0000, Emmanuel Dreyfus wrote:

>                 blkif_response_t *rep = RING_GET_RESPONSE(&sc->sc_ring, i);
>                 struct xbd_req *xbdreq = &sc->sc_reqs[rep->id];
>                 bp = xbdreq->req_bp;
> 
> It decides to call dk_done for the last occurence and return. Next
> call to xbd_handler finds the same offending buf_t leading the queue.
> dk_done is called again, leading to the panic.

The ring returns the response with the request ID. Is that ID returned
multiple times or do several requests reference the same buffer ?

> Where should I look for the code whrere the receive ring is populated in
> the dom0?

The answers are pushed back to the ring by dom0 in xbdback_iodone()
that calls xbdback_send_reply().


Greetings,
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index