1. 26 9月, 2019 10 次提交
  2. 24 9月, 2019 10 次提交
    • P
      Merge remote-tracking branch 'remotes/aperard/tags/pull-xen-20190924' into staging · 240ab11f
      Peter Maydell 提交于
      Xen queue
      
      * Update of maintainer email address
      * Fixes for xen-bus and xen-block
      
      # gpg: Signature made Tue 24 Sep 2019 12:27:56 BST
      # gpg:                using RSA key F80C006308E22CFD8A92E7980CF5572FD7FB55AF
      # gpg:                issuer "anthony.perard@citrix.com"
      # gpg: Good signature from "Anthony PERARD <anthony.perard@gmail.com>" [marginal]
      # gpg:                 aka "Anthony PERARD <anthony.perard@citrix.com>" [marginal]
      # 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: 5379 2F71 024C 600F 778A  7161 D8D5 7199 DF83 42C8
      #      Subkey fingerprint: F80C 0063 08E2 2CFD 8A92  E798 0CF5 572F D7FB 55AF
      
      * remotes/aperard/tags/pull-xen-20190924:
        xen-bus: only set the xen device frontend state if it is missing
        xen-block: treat XenbusStateUnknown the same as XenbusStateClosed
        MAINTAINERS: update my email address
        xen: perform XenDevice clean-up in XenBus watch handler
        xen: introduce separate XenWatchList for XenDevice objects
        xen / notify: introduce a new XenWatchList abstraction
        xen-bus: check whether the frontend is active during device reset...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      240ab11f
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/audio-20190924-pull-request' into staging · 860d9048
      Peter Maydell 提交于
      audio: documentation fixes.
      audio: new backend api (first part of the surround sound patch series).
      
      # gpg: Signature made Tue 24 Sep 2019 07:19:31 BST
      # gpg:                using RSA key 4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/audio-20190924-pull-request:
        audio: split ctl_* functions into enable_* and volume_*
        audio: common rate control code for timer based outputs
        audio: unify input and output mixeng buffer management
        audio: remove remains of the old backend api
        wavaudio: port to the new audio backend api
        spiceaudio: port to the new audio backend api
        sdlaudio: port to the new audio backend api
        paaudio: port to the new audio backend api
        ossaudio: port to the new audio backend api
        noaudio: port to the new audio backend api
        dsoundaudio: port to the new audio backend api
        coreaudio: port to the new audio backend api
        alsaaudio: port to the new audio backend api
        audio: api for mixeng code free backends
        audio: fix ALSA period-length typo in documentation
        audio: fix buffer-length typo in documentation
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      860d9048
    • M
      xen-bus: only set the xen device frontend state if it is missing · 6bd6b955
      Mark Syms 提交于
      Some toolstack implementations will set the frontend xenstore
      keys to Initialising which will then trigger the in guest PV
      drivers to begin initialising and some implementations will
      then set their state to Closing. If this has occurred then
      device realize must not overwrite the frontend keys as then
      the handshake will stall.
      Signed-off-by: NMark Syms <mark.syms@citrix.com>
      
      Also avoid creating the frontend area if it already exists.
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony PERARD <anthony.perard@citrix.com>
      Message-Id: <20190918115745.39006-1-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      6bd6b955
    • P
      xen-block: treat XenbusStateUnknown the same as XenbusStateClosed · ef916ab3
      Paul Durrant 提交于
      When a frontend gracefully disconnects from an offline backend, it will
      set its own state to XenbusStateClosed. The code in xen-block.c correctly
      deals with this and sets the backend into XenbusStateClosed. Unfortunately
      it is possible for toolstack to actually delete the frontend area
      before the state key has been read, leading to an apparent frontend state
      of XenbusStateUnknown. This prevents the backend state from transitioning
      to XenbusStateClosed and hence leaves it limbo.
      
      This patch simply treats a frontend state of XenbusStateUnknown the same
      as XenbusStateClosed, which will unblock the backend in these circumstances.
      Reported-by: NMark Syms <mark.syms@citrix.com>
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Message-Id: <20190918115702.38959-1-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      ef916ab3
    • P
      MAINTAINERS: update my email address · 784e9727
      Paul Durrant 提交于
      My Citrix email address will expire shortly.
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony PERARD <anthony.perard@citrix.com>
      Message-Id: <20190913122418.848-1-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      784e9727
    • P
      xen: perform XenDevice clean-up in XenBus watch handler · 3809f758
      Paul Durrant 提交于
      Cleaning up offline XenDevice objects directly in
      xen_device_backend_changed() is dangerous as xen_device_unrealize() will
      modify the watch list that is being walked. Even the QLIST_FOREACH_SAFE()
      used in notifier_list_notify() is insufficient as *two* notifiers (for
      the frontend and backend watches) are removed, thus potentially rendering
      the 'next' pointer unsafe.
      
      The solution is to use the XenBus backend_watch handler to do the clean-up
      instead, as it is invoked whilst walking a separate watch list.
      
      This patch therefore adds a new 'inactive_devices' list to XenBus, to which
      offline devices are added by xen_device_backend_changed(). The XenBus
      backend_watch registration is also changed to not only invoke
      xen_bus_enumerate() but also a new xen_bus_cleanup() function, which will
      walk 'inactive_devices' and perform the necessary actions.
      For safety an extra 'online' check is also added to xen_bus_type_enumerate()
      to make sure that no attempt is made to create a new XenDevice object for a
      backend that is offline.
      
      NOTE: This patch also includes some cosmetic changes:
            - substitute the local variable name 'backend_state'
              in xen_bus_type_enumerate() with 'state', since there
              is no ambiguity with any other state in that context.
            - change xen_device_state_is_active() to
              xen_device_frontend_is_active() (and pass a XenDevice directly)
              since the state tests contained therein only apply to a frontend.
            - use 'state' rather then 'xendev->backend_state' in
              xen_device_backend_changed() to shorten the code.
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony PERARD <anthony.perard@citrix.com>
      Message-Id: <20190913082159.31338-4-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      3809f758
    • P
      xen: introduce separate XenWatchList for XenDevice objects · d198b711
      Paul Durrant 提交于
      This patch uses the XenWatchList abstraction to add a separate watch list
      for each device. This is more scalable than walking a single notifier
      list for all watches and is also necessary to implement a bug-fix in a
      subsequent patch.
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony Perard <anthony.perard@citrix.com>
      Message-Id: <20190913082159.31338-3-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      d198b711
    • P
      xen / notify: introduce a new XenWatchList abstraction · 374752a2
      Paul Durrant 提交于
      Xenstore watch call-backs are already abstracted away from XenBus using
      the XenWatch data structure but the associated NotifierList manipulation
      and file handle registration is still open coded in various xen_bus_...()
      functions.
      This patch creates a new XenWatchList data structure to allow these
      interactions to be abstracted away from XenBus as well. This is in
      preparation for a subsequent patch which will introduce separate watch lists
      for XenBus and XenDevice objects.
      
      NOTE: This patch also introduces a new notifier_list_empty() helper function
            for the purposes of adding an assertion that a XenWatchList is not
            freed whilst its associated NotifierList is still occupied.
      Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony Perard <anthony.perard@citrix.com>
      Message-Id: <20190913082159.31338-2-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      374752a2
    • P
      xen-bus: check whether the frontend is active during device reset... · df6180bb
      Paul Durrant 提交于
      ...not the backend
      
      Commit cb323146 "xen-bus: Fix backend state transition on device reset"
      contained a subtle mistake. The hunk
      
      @@ -539,11 +556,11 @@ static void xen_device_backend_changed(void *opaque)
      
           /*
            * If the toolstack (or unplug request callback) has set the backend
      -     * state to Closing, but there is no active frontend (i.e. the
      -     * state is not Connected) then set the backend state to Closed.
      +     * state to Closing, but there is no active frontend then set the
      +     * backend state to Closed.
            */
           if (xendev->backend_state == XenbusStateClosing &&
      -        xendev->frontend_state != XenbusStateConnected) {
      +        !xen_device_state_is_active(state)) {
               xen_device_backend_set_state(xendev, XenbusStateClosed);
           }
      
      mistakenly replaced the check of 'xendev->frontend_state' with a check
      (now in a helper function) of 'state', which actually equates to
      'xendev->backend_state'.
      
      This patch fixes the mistake.
      
      Fixes: cb323146Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
      Reviewed-by: NAnthony PERARD <anthony.perard@citrix.com>
      Message-Id: <20190910171753.3775-1-paul.durrant@citrix.com>
      Signed-off-by: NAnthony PERARD <anthony.perard@citrix.com>
      df6180bb
    • P
      Merge remote-tracking branch 'remotes/cleber/tags/python-next-pull-request' into staging · 8dc57281
      Peter Maydell 提交于
      Improvements include:
      
       * Relaxed error code pattern on machine_m68k_nextcube.py
       * Better naming and separation of tests in x86_cpu_model_versions.py
       * New checks on guest side on linux_ssh_mips_malta.py
       * Use of avocado.utils.ssh, and thus "/usr/bin/ssh" for SSH
         interaction
      
      # gpg: Signature made Mon 23 Sep 2019 14:38:01 BST
      # gpg:                using RSA key 7ABB96EB8B46B94D5E0FE9BB657E8D33A5F209F3
      # gpg: Good signature from "Cleber Rosa <crosa@redhat.com>" [marginal]
      # 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: 7ABB 96EB 8B46 B94D 5E0F  E9BB 657E 8D33 A5F2 09F3
      
      * remotes/cleber/tags/python-next-pull-request:
        Acceptance tests: use avocado.utils.ssh for SSH interaction
        tests/acceptance: Add new test cases in linux_ssh_mips_malta.py
        tests/acceptance: Refactor and improve reporting in linux_ssh_mips_malta.py
        Acceptance test x86_cpu_model_versions: split into smaller tests
        Acceptance test x86_cpu_model_versions: fix mismatches between test and messages
        Acceptance test x86_cpu_model_versions: shutdown VMs
        Acceptance test machine_m68k_nextcube.py: relax the error code pattern
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8dc57281
  3. 23 9月, 2019 20 次提交