1. 26 9月, 2017 23 次提交
  2. 25 9月, 2017 3 次提交
  3. 23 9月, 2017 8 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 460b6c8e
      Peter Maydell 提交于
      * Speed up AddressSpaceDispatch creation (Alexey)
      * Fix kvm.c assert (David)
      * Memory fixes and further speedup (me)
      * Persistent reservation manager infrastructure (me)
      * virtio-serial: add enable_backend callback (Pavel)
      * chardev GMainContext fixes (Peter)
      
      # gpg: Signature made Fri 22 Sep 2017 20:07:33 BST
      # gpg:                using RSA key 0xBFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream: (32 commits)
        chardev: remove context in chr_update_read_handler
        chardev: use per-dev context for io_add_watch_poll
        chardev: add Chardev.gcontext field
        chardev: new qemu_chr_be_update_read_handlers()
        scsi: add persistent reservation manager using qemu-pr-helper
        scsi: add multipath support to qemu-pr-helper
        scsi: build qemu-pr-helper
        scsi, file-posix: add support for persistent reservation management
        memory: Share special empty FlatView
        memory: seek FlatView sharing candidates among children subregions
        memory: trace FlatView creation and destruction
        memory: Create FlatView directly
        memory: Get rid of address_space_init_shareable
        memory: Rework "info mtree" to print flat views and dispatch trees
        memory: Do not allocate FlatView in address_space_init
        memory: Share FlatView's and dispatch trees between address spaces
        memory: Move address_space_update_ioeventfds
        memory: Alloc dispatch tree where topology is generared
        memory: Store physical root MR in FlatView
        memory: Rename mem_begin/mem_commit/mem_add helpers
        ...
      
      # Conflicts:
      #	configure
      460b6c8e
    • P
      chardev: remove context in chr_update_read_handler · bb86d05f
      Peter Xu 提交于
      We had a per-chardev cache for context, then we don't need this
      parameter to be passed in every time when chr_update_read_handler()
      called.  As long as we are calling chr_update_read_handler() using
      qemu_chr_be_update_read_handlers() we'll be fine.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <1505975754-21555-5-git-send-email-peterx@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      bb86d05f
    • P
      chardev: use per-dev context for io_add_watch_poll · 6bbb6c06
      Peter Xu 提交于
      It was only passed in by chr_update_read_handlers().  However when
      reconnect, we'll lose that context information.  So if a chardev was
      running on another context (rather than the default context, the NULL
      pointer), it'll switch back to the default context if reconnection
      happens.  But, it should really stick to the old context.
      
      Convert all the callers of io_add_watch_poll() to use the internally
      cached gcontext.  Then the context should be able to survive even after
      reconnections.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <1505975754-21555-4-git-send-email-peterx@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6bbb6c06
    • P
      chardev: add Chardev.gcontext field · 95eeeba6
      Peter Xu 提交于
      It caches the gcontext that is used to poll the chardev IO.  Before this
      patch, we only passed it in via chr_update_read_handlers().  However
      that may not be enough if the char backend is disconnected and
      reconnected afterward.  There are chardev codes that still assumed the
      context be NULL (which is the main context).  Will fix that up in
      following up patches.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <1505975754-21555-3-git-send-email-peterx@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      95eeeba6
    • P
      chardev: new qemu_chr_be_update_read_handlers() · 07241c20
      Peter Xu 提交于
      Add a wrapper for the chr_update_read_handler().
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <1505975754-21555-2-git-send-email-peterx@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      07241c20
    • P
      scsi: add persistent reservation manager using qemu-pr-helper · 9bad2a6b
      Paolo Bonzini 提交于
      This adds a concrete subclass of pr-manager that talks to qemu-pr-helper.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      9bad2a6b
    • P
      scsi: add multipath support to qemu-pr-helper · fe8fc5ae
      Paolo Bonzini 提交于
      Proper support of persistent reservation for multipath devices requires
      communication with the multipath daemon, so that the reservation is
      registered and applied when a path comes up.  The device mapper
      utilities provide a library to do so; this patch makes qemu-pr-helper.c
      detect multipath devices and, when one is found, delegate the operation
      to libmpathpersist.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      fe8fc5ae
    • P
      scsi: build qemu-pr-helper · b855f8d1
      Paolo Bonzini 提交于
      Introduce a privileged helper to run persistent reservation commands.
      This lets virtual machines send persistent reservations without using
      CAP_SYS_RAWIO or out-of-tree patches.  The helper uses Unix permissions
      and SCM_RIGHTS to restrict access to processes that can access its socket
      and prove that they have an open file descriptor for a raw SCSI device.
      
      The next patch will also correct the usage of persistent reservations
      with multipath devices.
      
      It would also be possible to support for Linux's IOC_PR_* ioctls in
      the future, to support NVMe devices.  For now, however, only SCSI is
      supported.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b855f8d1
  4. 22 9月, 2017 6 次提交