On Wed, Sep 20, 2017 at 02:17:51PM +0200, Alberto Garcia wrote:
> On Wed 20 Sep 2017 01:39:02 PM CEST, Manos Pitsidianakis wrote:
> >>> void throttle_group_detach_aio_context(ThrottleGroupMember *tgm)
> >>> {
> >>> ThrottleTimers *tt = >throttle_timers;
> >>> +ThrottleGroup *tg =
On Wed 20 Sep 2017 01:39:02 PM CEST, Manos Pitsidianakis wrote:
>>> void throttle_group_detach_aio_context(ThrottleGroupMember *tgm)
>>> {
>>> ThrottleTimers *tt = >throttle_timers;
>>> +ThrottleGroup *tg = container_of(tgm->throttle_state, ThrottleGroup,
>>> ts);
>>> +
>>> +
On Wed 20 Sep 2017 12:17:40 PM CEST, Stefan Hajnoczi wrote:
> @@ -592,6 +592,17 @@ void
> throttle_group_attach_aio_context(ThrottleGroupMember *tgm,
> void throttle_group_detach_aio_context(ThrottleGroupMember *tgm)
> {
> ThrottleTimers *tt = >throttle_timers;
> +ThrottleGroup *tg =
On Wed, Sep 20, 2017 at 11:17:40AM +0100, Stefan Hajnoczi wrote:
Clear tg->any_timer_armed[] when throttling timers are destroyed during
AioContext attach/detach. Failure to do so causes throttling to hang
because we believe the timer is already scheduled!
The following was broken at least
On Wed, Sep 20, 2017 at 01:08:52PM +0200, Alberto Garcia wrote:
On Wed 20 Sep 2017 12:17:40 PM CEST, Stefan Hajnoczi wrote:
@@ -592,6 +592,17 @@ void throttle_group_attach_aio_context(ThrottleGroupMember
*tgm,
void throttle_group_detach_aio_context(ThrottleGroupMember *tgm)
{