On Tue, Nov 10, 2015 at 10:46:44AM +0000, Andrew Cooper wrote: > ml_interface_{read,write}() would miscalculate the quantity of > data/space in the ring if it crossed the ring boundary, and incorrectly > return a short read/write. > > This causes a protocol stall, as either side of the ring ends up waiting > for what they believe to be the other side needing to take the next > action. > > Correct the calculations to cope with crossing the ring boundary. > > In addition, correct the error detection. It is a hard error if the > producer index gets more than a ring size ahead of the consumer, or if > the consumer ever overtakes the producer. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
I think I will port this patch to cxenstored at some point. As far as I can tell cxenstored's data / space calculation is bogus in the same way. Wei. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel