1. 19 8月, 2015 13 次提交
  2. 15 8月, 2015 12 次提交
  3. 14 8月, 2015 5 次提交
    • P
      Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging · 074a9925
      Peter Maydell 提交于
      # gpg: Signature made Fri 14 Aug 2015 14:54:27 BST using RSA key ID C0DE3057
      # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>"
      # gpg:                 aka "Jeffrey Cody <jeff@codyprime.org>"
      # gpg:                 aka "Jeffrey Cody <codyprime@gmail.com>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 9957 4B4D 3474 90E7 9D98  D624 BDBE 7B27 C0DE 3057
      
      * remotes/cody/tags/block-pull-request:
        mirror: Fix coroutine reentrance
        block/mirror: limit qiov to IOV_MAX elements
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      074a9925
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging · 8e0adf64
      Peter Maydell 提交于
      # gpg: Signature made Fri 14 Aug 2015 15:41:14 BST using RSA key ID 81AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      
      * remotes/stefanha/tags/block-pull-request:
        throttle: add throttle_max_is_missing_limit() test
        throttle: refuse bps_max/iops_max without bps/iops
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8e0adf64
    • K
      mirror: Fix coroutine reentrance · e424aff5
      Kevin Wolf 提交于
      This fixes a regression introduced by commit dcfb3beb ("mirror: Do zero
      write on target if sectors not allocated"), which was reported to cause
      aborts with the message "Co-routine re-entered recursively".
      
      The cause for this bug is the following code in mirror_iteration_done():
      
          if (s->common.busy) {
              qemu_coroutine_enter(s->common.co, NULL);
          }
      
      This has always been ugly because - unlike most places that reenter - it
      doesn't have a specific yield that it pairs with, but is more
      uncontrolled.  What we really mean here is "reenter the coroutine if
      it's in one of the four explicit yields in mirror.c".
      
      This used to be equivalent with s->common.busy because neither
      mirror_run() nor mirror_iteration() call any function that could yield.
      However since commit dcfb3beb this doesn't hold true any more:
      bdrv_get_block_status_above() can yield.
      
      So what happens is that bdrv_get_block_status_above() wants to take a
      lock that is already held, so it adds itself to the queue of waiting
      coroutines and yields. Instead of being woken up by the unlock function,
      however, it gets woken up by mirror_iteration_done(), which is obviously
      wrong.
      
      In most cases the code actually happens to cope fairly well with such
      cases, but in this specific case, the unlock must already have scheduled
      the coroutine for wakeup when mirror_iteration_done() reentered it. And
      then the coroutine happened to process the scheduled restarts and tried
      to reenter itself recursively.
      
      This patch fixes the problem by pairing the reenter in
      mirror_iteration_done() with specific yields instead of abusing
      s->common.busy.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Message-id: 1439455310-11263-1-git-send-email-kwolf@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      e424aff5
    • J
      Merge branch 'block-next' into HEAD · d90dedfc
      Jeff Cody 提交于
      d90dedfc
    • P
      Merge remote-tracking branch 'remotes/lalrae/tags/mips-20150813' into staging · be1f13ac
      Peter Maydell 提交于
      MIPS patches 2015-08-13
      
      Changes:
      * mips32r5-generic CPU updated and renamed to P5600
      * improvements in LWL/LDL, logging and fulong2e
      
      # gpg: Signature made Thu 13 Aug 2015 17:10:59 BST using RSA key ID 0B29DA6B
      # gpg: Good signature from "Leon Alrae <leon.alrae@imgtec.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 8DD3 2F98 5495 9D66 35D4  4FC0 5211 8E3C 0B29 DA6B
      
      * remotes/lalrae/tags/mips-20150813:
        target-mips: Use CPU_LOG_INT for logging related to interrupts
        hw/pci-host/bonito: Avoid buffer overrun for bad LDMA/COP accesses
        target-mips: simplify LWL/LDL mask generation
        target-mips: update mips32r5-generic into P5600
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      be1f13ac
  4. 13 8月, 2015 10 次提交