blkback making assumptions about the id of the requests

Justin T. Gibbs gibbs at freebsd.org
Tue Sep 3 13:49:32 UTC 2013


On Sep 3, 2013, at 3:39 AM, Roger Pau Monné <roger.pau at citrix.com> wrote:

> On 02/09/13 22:03, Justin T. Gibbs wrote:
>> On Sep 2, 2013, at 11:58 AM, Roger Pau Monné <roger.pau at citrix.com> wrote:
>> 
>>> Hello,
>>> 
>>> While playing with driver domains using FreeBSD I've found out that
>>> blkback in FreeBSD makes assumptions about the id of a request instead
>>> of actually using the id of the request on the shared ring. This seems
>>> wrong to me, since a frontend might choose whatever ids it like for the
>>> requests (like using 100-131 instead of 0-31). The patch attached fixes
>>> it by copying the id from the request on the ring to blkback internal
>>> request structure.
>>> 
>>> Roger.
>> 
>> It looks to me like the id is set in xbb_dispatch_io().  Why it is done there
>> and not earlier, I don't recall.
> 
> Sorry, I've missed to spot that the id is set there, the problem is that
> requests of type BLKIF_OP_FLUSH_DISKCACHE never reach that point, so
> they end up having incorrect requests ids. I've reworded the commit
> message and removed the late setting of the request id, now it is set
> earlier so requests of type flush also have a valid id when writing the
> response on the ring.

Makes sense.  Committed.

--
Justin


More information about the freebsd-xen mailing list