1. 04 Jun, 2013 1 commit
    • Stefan Hajnoczi's avatar
      block: drop bs_snapshots global variable · 29d78271
      Stefan Hajnoczi authored
      
      
      The bs_snapshots global variable points to the BlockDriverState which
      will be used to save vmstate.  This is really a savevm.c concept but was
      moved into block.c:bdrv_snapshots() when it became clear that hotplug
      could result in a dangling pointer.
      
      While auditing the block layer's global state I came upon bs_snapshots
      and realized that a variable is not necessary here.  Simply find the
      first BlockDriverState capable of internal snapshots each time this is
      needed.
      
      The behavior of bdrv_snapshots() is preserved across hotplug because new
      drives are always appended to the bdrv_states list.  This means that
      calling the new find_vmstate_bs() function is idempotent - it returns
      the same BlockDriverState unless it was hot-unplugged.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      29d78271
  2. 01 Jun, 2013 1 commit
  3. 17 Apr, 2013 2 commits
  4. 15 Apr, 2013 1 commit
  5. 09 Apr, 2013 4 commits
  6. 02 Apr, 2013 1 commit
  7. 26 Mar, 2013 7 commits
  8. 12 Mar, 2013 1 commit
  9. 11 Mar, 2013 14 commits
  10. 12 Feb, 2013 1 commit
  11. 11 Feb, 2013 1 commit
    • Stefan Hajnoczi's avatar
      migration: restrict scope of incoming fd read handler · d7cd3694
      Stefan Hajnoczi authored
      
      
      The incoming migration is processed in a coroutine and uses an fd read
      handler to enter the yielded coroutine when data becomes available.
      
      The read handler was set too broadly, so that spurious coroutine entries
      were be triggered if other coroutine users yielded (like the block
      layer's bdrv_write() function).
      
      Install the fd read only only when yielding for more data to become
      available.  This prevents spurious coroutine entries which break code
      that assumes only a specific set of places can re-enter the coroutine.
      
      This patch fixes crashes in block/raw-posix.c that are triggered with
      "migrate -b" when qiov becomes a dangling pointer due to a spurious
      coroutine entry that frees qiov early.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-id: 1360598505-5512-1-git-send-email-stefanha@redhat.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      d7cd3694
  12. 01 Feb, 2013 2 commits
  13. 17 Jan, 2013 3 commits
  14. 11 Jan, 2013 1 commit