Skip to content
  • Stefan Hajnoczi's avatar
    341e0b56
    throttle-groups: forget timer and schedule next TGM on detach · 341e0b56
    Stefan Hajnoczi authored
    
    
    tg->any_timer_armed[] must be cleared when detaching pending timers from
    the AioContext.  Failure to do so leads to hung I/O because it looks
    like there are still timers pending when in fact they have been removed.
    
    Other ThrottleGroupMembers might have requests pending too so it's
    necessary to schedule the next TGM so it can set a timer.
    
    This patch fixes hung I/O when QEMU is launched with drives that are in
    the same throttling group:
    
      (guest)$ dd if=/dev/zero of=/dev/vdb oflag=direct bs=512 &
      (guest)$ dd if=/dev/zero of=/dev/vdc oflag=direct bs=512 &
      (qemu) stop
      (qemu) cont
      ...I/O is stuck...
    
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Message-id: 20171116112150.27607-1-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    341e0b56
    throttle-groups: forget timer and schedule next TGM on detach
    Stefan Hajnoczi authored
    
    
    tg->any_timer_armed[] must be cleared when detaching pending timers from
    the AioContext.  Failure to do so leads to hung I/O because it looks
    like there are still timers pending when in fact they have been removed.
    
    Other ThrottleGroupMembers might have requests pending too so it's
    necessary to schedule the next TGM so it can set a timer.
    
    This patch fixes hung I/O when QEMU is launched with drives that are in
    the same throttling group:
    
      (guest)$ dd if=/dev/zero of=/dev/vdb oflag=direct bs=512 &
      (guest)$ dd if=/dev/zero of=/dev/vdc oflag=direct bs=512 &
      (qemu) stop
      (qemu) cont
      ...I/O is stuck...
    
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Message-id: 20171116112150.27607-1-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Loading