Skip to content
Snippets Groups Projects
  1. Jul 04, 2021
  2. Jul 02, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 9c2647f7
      Peter Maydell authored
      
      Block layer patches
      
      - Supporting changing 'file' in x-blockdev-reopen
      - ssh: add support for sha256 host key fingerprints
      - vhost-user-blk: Implement reconnection during realize
      - introduce QEMU_AUTO_VFREE
      - Don't require password of encrypted backing file for image creation
      - Code cleanups
      
      # gpg: Signature made Wed 30 Jun 2021 17:00:55 BST
      # gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
      # gpg:                issuer "kwolf@redhat.com"
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream: (24 commits)
        vhost-user-blk: Implement reconnection during realize
        vhost-user-blk: Factor out vhost_user_blk_realize_connect()
        vhost: Distinguish errors in vhost_dev_get_config()
        vhost-user-blk: Add Error parameter to vhost_user_blk_start()
        vhost: Return 0/-errno in vhost_dev_init()
        vhost: Distinguish errors in vhost_backend_init()
        vhost: Add Error parameter to vhost_dev_init()
        block/ssh: add support for sha256 host key fingerprints
        block/commit: use QEMU_AUTO_VFREE
        introduce QEMU_AUTO_VFREE
        iotests: Test replacing files with x-blockdev-reopen
        block: Allow changing bs->file on reopen
        block: BDRVReopenState: drop replace_backing_bs field
        block: move supports_backing check to bdrv_set_file_or_backing_noperm()
        block: bdrv_reopen_parse_backing(): simplify handling implicit filters
        block: bdrv_reopen_parse_backing(): don't check frozen child
        block: bdrv_reopen_parse_backing(): don't check aio context
        block: introduce bdrv_set_file_or_backing_noperm()
        block: introduce bdrv_remove_file_or_backing_child()
        block: comment graph-modifying function not updating permissions
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      9c2647f7
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/berrange-gitlab/tags/tls-deps-pull-request' into staging · 5a67d773
      Peter Maydell authored
      
      Hide build time dependancy on gnutls fom non-crypto code
      
      # gpg: Signature made Wed 30 Jun 2021 12:18:47 BST
      # gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
      # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
      # gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
      # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF
      
      * remotes/berrange-gitlab/tags/tls-deps-pull-request:
        crypto: Make QCryptoTLSCreds* structures private
        ui/vnc: Use qcrypto_tls_creds_check_endpoint()
        migration/tls: Use qcrypto_tls_creds_check_endpoint()
        chardev/socket: Use qcrypto_tls_creds_check_endpoint()
        qemu-nbd: Use qcrypto_tls_creds_check_endpoint()
        block/nbd: Use qcrypto_tls_creds_check_endpoint()
        crypto/tlscreds: Introduce qcrypto_tls_creds_check_endpoint() helper
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      5a67d773
  3. Jul 01, 2021
  4. Jun 30, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/nvme/tags/nvme-next-pull-request' into staging · 1ec2cd0c
      Peter Maydell authored
      
      hw/nvme patches
      
      * namespace eui64 support (Heinrich)
      * aiocb refactoring (Klaus)
      * controller parameter for auto zone transitioning (Niklas)
      * misc fixes and additions (Gollu, Klaus, Keith)
      
      # gpg: Signature made Tue 29 Jun 2021 19:46:55 BST
      # gpg:                using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9
      # gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown]
      # gpg:                 aka "Klaus Jensen <k.jensen@samsung.com>" [unknown]
      # 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: DDCA 4D9C 9EF9 31CC 3468  4272 63D5 6FC5 E55D A838
      #      Subkey fingerprint: 5228 33AA 75E2 DCE6 A247  66C0 4DE1 AF31 6D4F 0DE9
      
      * remotes/nvme/tags/nvme-next-pull-request: (23 commits)
        hw/nvme: add 'zoned.zasl' to documentation
        hw/nvme: fix pin-based interrupt behavior (again)
        hw/nvme: fix missing check for PMR capability
        hw/nvme: documentation fix
        hw/nvme: fix endianess conversion and add controller list
        Partially revert "hw/block/nvme: drain namespaces on sq deletion"
        hw/nvme: reimplement format nvm to allow cancellation
        hw/nvme: reimplement zone reset to allow cancellation
        hw/nvme: reimplement the copy command to allow aio cancellation
        hw/nvme: add dw0/1 to the req completion trace event
        hw/nvme: use prinfo directly in nvme_check_prinfo and nvme_dif_check
        hw/nvme: remove assert from nvme_get_zone_by_slba
        hw/nvme: save reftag when generating pi
        hw/nvme: reimplement dsm to allow cancellation
        hw/nvme: add nvme_block_status_all helper
        hw/nvme: reimplement flush to allow cancellation
        hw/nvme: default for namespace EUI-64
        hw/nvme: namespace parameter for EUI-64
        hw/nvme: fix csi field for cns 0x00 and 0x11
        hw/nvme: add param to control auto zone transitioning to zone state closed
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      1ec2cd0c
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/quic/tags/pull-hex-20210629' into staging · d940d468
      Peter Maydell authored
      
      Fixes for bugs found by inspection and internal testing
      Tests added to tests/tcg/hexagon/misc.c
      
      # gpg: Signature made Tue 29 Jun 2021 17:50:16 BST
      # gpg:                using RSA key 7B0244FB12DE4422
      # gpg: Good signature from "Taylor Simpson (Rock on) <tsimpson@quicinc.com>" [undefined]
      # 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: 3635 C788 CE62 B91F D4C5  9AB4 7B02 44FB 12DE 4422
      
      * remotes/quic/tags/pull-hex-20210629:
        Hexagon (target/hexagon) remove unused TCG variables
        Hexagon (target/hexagon) cleanup gen_store_conditional[48] functions
        Hexagon (target/hexagon) fix l2fetch instructions
        Hexagon (target/hexagon) fix bug in fLSBNEW*
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      d940d468
    • Kevin Wolf's avatar
      vhost-user-blk: Implement reconnection during realize · a527e312
      Kevin Wolf authored
      
      Commit dabefdd6 removed code that was supposed to try reconnecting
      during .realize(), but actually just crashed and had several design
      problems.
      
      This adds the feature back without the crash in simple cases while also
      fixing some design problems: Reconnection is now only tried if there was
      a problem with the connection and not an error related to the content
      (which would fail again the same way in the next attempt). Reconnection
      is limited to three attempts (four with the initial attempt) so that we
      won't end up in an infinite loop if a problem is permanent. If the
      backend restarts three times in the very short time window of device
      initialisation, we have bigger problems and erroring out is the right
      course of action.
      
      In the case that a connection error occurs and we reconnect, the error
      message is printed using error_report_err(), but otherwise ignored.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-8-kwolf@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      a527e312
    • Kevin Wolf's avatar
      vhost-user-blk: Factor out vhost_user_blk_realize_connect() · 415fc294
      Kevin Wolf authored
      
      This function is the part that we will want to retry if the connection
      is lost during initialisation, so factor it out to keep the following
      patch simpler.
      
      The error path for vhost_dev_get_config() forgot disconnecting the
      chardev, add this while touching the code.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-7-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      415fc294
    • Kevin Wolf's avatar
      vhost: Distinguish errors in vhost_dev_get_config() · 50de5138
      Kevin Wolf authored
      
      Instead of just returning 0/-1 and letting the caller make up a
      meaningless error message, add an Error parameter to allow reporting the
      real error and switch to 0/-errno so that different kind of errors can
      be distinguished in the caller.
      
      config_len in vhost_user_get_config() is defined by the device, so if
      it's larger than VHOST_USER_MAX_CONFIG_SIZE, this is a programming
      error. Turn the corresponding check into an assertion.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-6-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      50de5138
    • Kevin Wolf's avatar
      vhost-user-blk: Add Error parameter to vhost_user_blk_start() · b8da6568
      Kevin Wolf authored
      
      Instead of letting the caller make up a meaningless error message, add
      an Error parameter to allow reporting the real error.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-5-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      b8da6568
    • Kevin Wolf's avatar
      vhost: Return 0/-errno in vhost_dev_init() · f2a6e6c4
      Kevin Wolf authored
      
      Instead of just returning 0/-1 and letting the caller make up a
      meaningless error message, switch to 0/-errno so that different kinds of
      errors can be distinguished in the caller.
      
      This involves changing a few more callbacks in VhostOps to return
      0/-errno: .vhost_set_owner(), .vhost_get_features() and
      .vhost_virtqueue_set_busyloop_timeout(). The implementations of these
      functions are trivial as they generally just send a message to the
      backend.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-4-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      f2a6e6c4
    • Kevin Wolf's avatar
      vhost: Distinguish errors in vhost_backend_init() · 28770ff9
      Kevin Wolf authored
      
      Instead of just returning 0/-1 and letting the caller make up a
      meaningless error message, add an Error parameter to allow reporting the
      real error and switch to 0/-errno so that different kind of errors can
      be distinguished in the caller.
      
      Specifically, in vhost-user, EPROTO is used for all errors that relate
      to the connection itself, whereas other error codes are used for errors
      relating to the content of the connection. This will allow us later to
      automatically reconnect when the connection goes away, without ending up
      in an endless loop if it's a permanent error in the configuration.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-3-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      28770ff9
    • Kevin Wolf's avatar
      vhost: Add Error parameter to vhost_dev_init() · a6945f22
      Kevin Wolf authored
      
      This allows callers to return better error messages instead of making
      one up while the real error ends up on stderr. Most callers can
      immediately make use of this because they already have an Error
      parameter themselves. The others just keep printing the error with
      error_report_err().
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210609154658.350308-2-kwolf@redhat.com>
      Reviewed-by: Stefano Garzarella's avatarStefano Garzarella <sgarzare@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      a6945f22
    • Daniel P. Berrangé's avatar
      block/ssh: add support for sha256 host key fingerprints · bf783261
      Daniel P. Berrangé authored and Kevin Wolf's avatar Kevin Wolf committed
      
      Currently the SSH block driver supports MD5 and SHA1 for host key
      fingerprints. This is a cryptographically sensitive operation and
      so these hash algorithms are inadequate by modern standards. This
      adds support for SHA256 which has been supported in libssh since
      the 0.8.1 release.
      
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20210622115156.138458-1-berrange@redhat.com>
      Reviewed-by: Philippe Mathieu-Daudé's avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Acked-by: default avatarRichard W.M. Jones <rjones@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      bf783261
  5. Jun 29, 2021
Loading