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