1. 22 7月, 2015 1 次提交
  2. 15 7月, 2015 2 次提交
  3. 07 7月, 2015 1 次提交
  4. 02 7月, 2015 3 次提交
  5. 23 6月, 2015 2 次提交
  6. 28 4月, 2015 8 次提交
  7. 24 1月, 2015 1 次提交
  8. 13 1月, 2015 1 次提交
    • V
      block: fix spoiling all dirty bitmaps by mirror and migration · c4237dfa
      Vladimir Sementsov-Ogievskiy 提交于
      Mirror and migration use dirty bitmaps for their purposes, and since
      commit [block: per caller dirty bitmap] they use their own bitmaps, not
      the global one. But they use old functions bdrv_set_dirty and
      bdrv_reset_dirty, which change all dirty bitmaps.
      
      Named dirty bitmaps series by Fam and Snow are affected: mirroring and
      migration will spoil all (not related to this mirroring or migration)
      named dirty bitmaps.
      
      This patch fixes this by adding bdrv_set_dirty_bitmap and
      bdrv_reset_dirty_bitmap, which change concrete bitmap. Also, to prevent
      such mistakes in future, old functions bdrv_(set,reset)_dirty are made
      static, for internal block usage.
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@parallels.com>
      CC: John Snow <jsnow@redhat.com>
      CC: Fam Zheng <famz@redhat.com>
      CC: Denis V. Lunev <den@openvz.org>
      CC: Stefan Hajnoczi <stefanha@redhat.com>
      CC: Kevin Wolf <kwolf@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Message-id: 1417081246-3593-1-git-send-email-vsementsov@parallels.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      c4237dfa
  9. 03 11月, 2014 2 次提交
    • S
      block: let mirror blockjob run in BDS AioContext · 5a7e7a0b
      Stefan Hajnoczi 提交于
      The mirror block job must run in the BlockDriverState AioContext so that
      it works with dataplane.
      
      Acquire the AioContext in blockdev.c so starting the block job is safe.
      
      Note that to_replace is treated separately from other BlockDriverStates
      in that it does not need to be in the same AioContext.  Explicitly
      acquire/release to_replace's AioContext when accessing it.
      
      The completion code in block/mirror.c must perform BDS graph
      manipulation and bdrv_reopen() from the main loop.  Use
      block_job_defer_to_main_loop() to achieve that.
      
      The bdrv_drain_all() call is not allowed outside the main loop since it
      could lead to lock ordering problems.  Use bdrv_drain(bs) instead
      because we have acquired the AioContext so nothing else can sneak in
      I/O.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Message-id: 1413889440-32577-10-git-send-email-stefanha@redhat.com
      5a7e7a0b
    • M
      block/mirror: Improve progress report · b21c7652
      Max Reitz 提交于
      Instead of taking the total length of the block device as the block
      job's length, use the number of dirty sectors. The progress is now the
      number of sectors mirrored to the target block device. Note that this
      may result in the job's length increasing during operation, which is
      however in fact desirable.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NKevin Wolf <kwolf@redhat.com>
      Message-id: 1414159063-25977-8-git-send-email-mreitz@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      b21c7652
  10. 20 10月, 2014 2 次提交
  11. 28 8月, 2014 1 次提交
  12. 15 8月, 2014 1 次提交
  13. 07 7月, 2014 1 次提交
  14. 28 6月, 2014 1 次提交
  15. 26 6月, 2014 1 次提交
  16. 23 6月, 2014 2 次提交
  17. 28 5月, 2014 1 次提交
  18. 29 4月, 2014 2 次提交
  19. 28 4月, 2014 1 次提交
  20. 26 4月, 2014 1 次提交
  21. 22 4月, 2014 1 次提交
  22. 25 3月, 2014 2 次提交
  23. 06 3月, 2014 1 次提交
  24. 15 2月, 2014 1 次提交