1. 03 12月, 2013 4 次提交
  2. 29 11月, 2013 4 次提交
    • F
      blkdebug: add "remove_break" command · 4cc70e93
      Fam Zheng 提交于
      This adds "remove_break" command which is the reverse of blkdebug
      command "break": it removes all breakpoints with given tag and resumes
      all the requests.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      4cc70e93
    • L
      sheepdog: support user-defined redundancy option · b3af018f
      Liu Yuan 提交于
      Sheepdog support two kinds of redundancy, full replication and erasure coding.
      
      # create a fully replicated vdi with x copies
       -o redundancy=x (1 <= x <= SD_MAX_COPIES)
      
      # create a erasure coded vdi with x data strips and y parity strips
       -o redundancy=x:y (x must be one of {2,4,8,16} and 1 <= y < SD_EC_MAX_STRIP)
      
      E.g, to convert a vdi into sheepdog vdi 'test' with 8:3 erasure coding scheme
      
      $ qemu-img convert -o redundancy=8:3 linux-0.2.img sheepdog:test
      
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NLiu Yuan <namei.unix@gmail.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      b3af018f
    • F
      qapi: Change BlockDirtyInfo to list · 21b56835
      Fam Zheng 提交于
      We have multiple dirty bitmaps in BDS now, switch QAPI to allow query
      it (BlockInfo.dirty_bitmaps), and also drop old BlockInfo.dirty.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      21b56835
    • F
      block: per caller dirty bitmap · e4654d2d
      Fam Zheng 提交于
      Previously a BlockDriverState has only one dirty bitmap, so only one
      caller (e.g. a block job) can keep track of writing. This changes the
      dirty bitmap to a list and creates a BdrvDirtyBitmap for each caller, the
      lifecycle is managed with these new functions:
      
          bdrv_create_dirty_bitmap
          bdrv_release_dirty_bitmap
      
      Where BdrvDirtyBitmap is a linked list wrapper structure of HBitmap.
      
      In place of bdrv_set_dirty_tracking, a BdrvDirtyBitmap pointer argument
      is added to these functions, since each caller has its own dirty bitmap:
      
          bdrv_get_dirty
          bdrv_dirty_iter_init
          bdrv_get_dirty_count
      
      bdrv_set_dirty and bdrv_reset_dirty prototypes are unchanged but will
      internally walk the list of all dirty bitmaps and set them one by one.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      e4654d2d
  3. 28 11月, 2013 7 次提交
  4. 22 11月, 2013 3 次提交
    • P
      atomic.h: Fix build with clang · 392a4d5b
      Peter Maydell 提交于
      clang defines __ATOMIC_SEQ_CST but its implementation of the
      __atomic_exchange() builtin differs from that of gcc. Move the
      __clang__ branch of the ifdef ladder to the top and fix its
      implementation (there is no such builtin as __sync_exchange),
      so we can compile with clang again.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      392a4d5b
    • P
      pc: get rid of builtin pvpanic for "-M pc-1.5" · 7839ff59
      Paolo Bonzini 提交于
      This causes two slight backwards-incompatibilities between "-M pc-1.5"
      and 1.5's "-M pc":
      
      (1) a fw_cfg file is removed with this patch.  This is only a problem
      if migration stops the virtual machine exactly during fw_cfg enumeration.
      
      (2) after migration, a VM created without an explicit "-device pvpanic"
      will stop reporting panics to management.
      
      The first problem only occurs if migration is done at a very, very
      early point (and I'm not sure it can happen in practice for reasonable-size
      VMs, since it will likely take more time to send the RAM to destination,
      than it will take for BIOS to scan fw_cfg).
      
      The second problem only occurs if the guest panics _and_ has a guest
      driver _and_ management knows to look at the crash event, so it is
      mostly theoretical at this point in time.
      
      Thus keep the code simple, and pretend it was never broken.
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7839ff59
    • P
      atomic.h: Fix build with clang · 33effd3a
      Peter Maydell 提交于
      clang defines __ATOMIC_SEQ_CST but its implementation of the
      __atomic_exchange() builtin differs from that of gcc. Move the
      __clang__ branch of the ifdef ladder to the top and fix its
      implementation (there is no such builtin as __sync_exchange),
      so we can compile with clang again.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1382435921-18438-1-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NAnthony Liguori <aliguori@amazon.com>
      33effd3a
  5. 14 11月, 2013 1 次提交
  6. 10 11月, 2013 3 次提交
    • M
      Revert "hw/pci: partially handle pci master abort" · 0fbf50b6
      Marcel Apfelbaum 提交于
      This reverts commit a53ae8e9.
      
      The patch being reverted introduced a low-priority memory region
      covering all 64 bit pci address space.  This exposed the following bugs
      elsewhere in the code:
       1. Some memory regions have INT64_MAX size, where the
          intent was all 64 bit address space.
          This results in a sub-page region, should be UINT64_MAX.
       2. page table rendering in exec.c ignores physical address bits
          above TARGET_PHYS_ADDR_SPACE_BITS.
          Access outside this range (e.g. from device DMA, or gdb stub)
          ends up with a wrong region.  Registering a region outside this
          range leads to page table corruption.
       3. Some regions overlap PCI hole and have same priority.
          This only works as long as no device uses the overlapping address.
      
      It doesn't look like we can resolve all issues in time for 1.7.
      Let's fix the bugs first and apply afterwards for 1.8.
      Signed-off-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      0fbf50b6
    • M
      loader: drop return value for rom_add_blob_fixed · fe1479aa
      Michael S. Tsirkin 提交于
      rom_add_blob never fails, and neither does rom_add_blob_fixed,
      so there's no need to return value from it.
      
      In fact, rom_add_blob_fixed was erroneously returning -1 unconditionally
      which made the only system that checked the return value -M bamboo fail
      to start.
      
      Drop the return value and drop checks from ppc440_bamboo to
      fix this failure.
      Reported-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      fe1479aa
    • C
      Fix pc migration from qemu <= 1.5 · 04c7d8b8
      Cole Robinson 提交于
      The following commit introduced a migration incompatibility:
      
      commit 568f0690
      Author: David Gibson <david@gibson.dropbear.id.au>
      Date:   Thu Jun 6 18:48:49 2013 +1000
      
          pci: Replace pci_find_domain() with more general pci_root_bus_path()
      
      The issue is that i440fx savevm idstr went from 0000:00:00.0/I440FX to
      0000:00.0/I440FX. Unfortunately we are stuck with the breakage for
      1.6 machine types.
      
      Add a compat property to maintain the busted idstr for the 1.6 machine
      types, but revert to the old style format for 1.7+, and <= 1.5.
      
      Tested with migration from qemu 1.5, qemu 1.6, and qemu.git.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NCole Robinson <crobinso@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      04c7d8b8
  7. 09 11月, 2013 1 次提交
  8. 06 11月, 2013 17 次提交