Skip to content
  • Kevin Wolf's avatar
    76b22320
    block: Forbid I/O throttling on nodes with multiple parents for 2.6 · 76b22320
    Kevin Wolf authored
    
    
    As the patches to move I/O throttling to BlockBackend didn't make it in
    time for the 2.6 release, but the release adds new ways of configuring
    VMs whose behaviour would change once the move is done, we need to
    outlaw such configurations temporarily.
    
    The problem exists whenever a BDS has more users than just its BB, for
    example it is used as a backing file for another node. (This wasn't
    possible in 2.5 yet as we introduced node references to specify a
    backing file only recently.) In these cases, the throttling would
    apply to these other users now, but after moving throttling to the
    BlockBackend the other users wouldn't be throttled any more.
    
    This patch prevents making new references to a throttled node as well as
    using monitor commands to throttle a node with multiple parents.
    
    Compared to 2.5 this changes behaviour in some corner cases where
    references were allowed before, like bs->file or Quorum children. It
    seems reasonable to assume that users didn't use I/O throttling on such
    low level nodes. With the upcoming move of throttling into BlockBackend,
    such configurations won't be possible anyway.
    
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    76b22320
    block: Forbid I/O throttling on nodes with multiple parents for 2.6
    Kevin Wolf authored
    
    
    As the patches to move I/O throttling to BlockBackend didn't make it in
    time for the 2.6 release, but the release adds new ways of configuring
    VMs whose behaviour would change once the move is done, we need to
    outlaw such configurations temporarily.
    
    The problem exists whenever a BDS has more users than just its BB, for
    example it is used as a backing file for another node. (This wasn't
    possible in 2.5 yet as we introduced node references to specify a
    backing file only recently.) In these cases, the throttling would
    apply to these other users now, but after moving throttling to the
    BlockBackend the other users wouldn't be throttled any more.
    
    This patch prevents making new references to a throttled node as well as
    using monitor commands to throttle a node with multiple parents.
    
    Compared to 2.5 this changes behaviour in some corner cases where
    references were allowed before, like bs->file or Quorum children. It
    seems reasonable to assume that users didn't use I/O throttling on such
    low level nodes. With the upcoming move of throttling into BlockBackend,
    such configurations won't be possible anyway.
    
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Loading