1. 29 Jun, 2022 9 commits
    • Richard Henderson's avatar
      Merge tag 'trivial-branch-for-7.1-pull-request' of... · 621745c4
      Richard Henderson authored
      Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging
      
      trivial patches pull request 20220629
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmK8FmsSHGxhdXJlbnRA
      # dml2aWVyLmV1AAoJEPMMOL0/L7482EkP/19M/AAUkGqIdU9Dj7H46r+LEKtrT7Xu
      # jNRDDrkhVQvx42mklSB+fO/ptMKUDgxvLs4mnuZFxM7SrTOb4h5jfZzyYjk73ENQ
      # YZ/TLxRtxAfRCcGwso7NGyk85mwt+sBFKZXfW6qsfc9AjDphLUOblfSieeFegz69
      # BUtzbMOPSMR7e54y6azJX3gCkxLytSXYgk4otSLTrL233sT7pnwPRdxKGzCTA5vs
      # fRxKb4p/R05lWepcjrL2d2lB1TabsV0kqmNkHDvubVWlgyoK3Vt/1dzD1UP7CrvF
      # WghlZWmxCHrmLlBb+VSDUa22kpfv5fi/feauuug+dya+s1Mlq8HZTL8VtjUJHwLL
      # 92xRPeP/RfEJdoQDuMKXP9DWAAYM03HGgR37cE5NMDCyHG0XRKOJ+i2P7DQLVDjW
      # QyWX6bX1WV6FovdwwMnZR9OclvKtsZnb1jlfj+G2DdKXpLliDH6DkFm8mPQTM1L7
      # w53iMtK88erEc+NP6+fPbbZmySvDVUcLmcTiBceZK6Vjo4oTGNrAWP+VgjBTJaz+
      # 71ulkJ6vo39ZnEQOUlWrL/yW+8sQNaeO1tO67HZZ8dgTvAnPwyvKq88jSMzGCNpz
      # Wpcf4yVAEvU+fP3KkEaqQqmQeK/Vc+H6044O00tcLVICkpCdN/FwRjgfZanX9CIJ
      # xQjxW5mkb1Z3
      # =fgtJ
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 29 Jun 2022 02:37:55 PM +0530
      # gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
      # gpg:                issuer "laurent@vivier.eu"
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined]
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [undefined]
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.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: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu
      
      :
        hw/i386/xen/xen-hvm: Inline xen_piix_pci_write_config_client() and remove it
        hw/i386/xen/xen-hvm: Allow for stubbing xen_set_pci_link_route()
        hw/ide/atapi.c: Correct typos (CD-CDROM -> CD-ROM)
        common-user: Only compile the common user code if have_user is set
        hw/pci-host/i440fx: Remove unused parameter from i440fx_init()
        MAINTAINERS: Add softmmu/runstate.c to "Main loop"
        trivial typos: namesapce
        Trivial: 3 char repeat typos
        util: Return void on iova_tree_remove
        qom/object: Remove circular include dependency
        vga: avoid crash if no default vga card
      Signed-off-by: Richard Henderson's avatarRichard Henderson <richard.henderson@linaro.org>
      621745c4
    • Richard Henderson's avatar
      Merge tag 'pull-block-2022-06-14-v2' of https://gitlab.com/vsementsov/qemu into staging · f96d4e0f
      Richard Henderson authored
      Block jobs & NBD patches
      
      v2: - add arguments to QEMUMachine constructor in test, to make it work
            on arm in gitlab pipeline
          - use bdrv_inc_in_flight() / bdrv_dec_in_flight() instead of direct
            manipulation with bs->in_flight
      
      - add new options for copy-before-write filter
      - new trace points for NBD
      - prefer unsigned type for some 'in_flight' fields
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCgAdFiEEi5wmzbL9FHyIDoahVh8kwfGfefsFAmK8BqkACgkQVh8kwfGf
      # efuiMw/+P9FFLfGFSjVP+LYeT0Ah6kN1ypCMQzIk3Qq/J6qgMZhtRqpQoZOfIFQL
      # U9fGmEtQZ7gvEMD/nJToL6uOYlnQfPxDcA6GrRwWWE3rcFiPK4J0q2LlnPLn4QaU
      # W/qag5l/QnZfLlj/iV6neWOEvqdnvY1L8IS+T8xV6N0iBYlwgMC/6FGshQwehzcV
      # T5F1qPGB0vjFDjf92LFPEsvsFFHjHIVPwOyJMvF64QtSk57utikq/la9PI/yA9AH
      # Ll4mNQuZKx6rSI5wE6b21jc8iOUvaoHdPSEDQZfNILSdgGdiKvFwE51y+baGnIAD
      # TpjxfG59q0jyGxMjQVxMRSFaxAC4+Mqi82diSPv4xbiUdsE4byJH0oENn4z7+wAv
      # EvjuU9yx4FfHHltoUNwfn2pv00o/ELdZIoBNmW36rPxSGZMvfVfRtuBL7XWNUFbW
      # Fr4BwsjC4KfIxb16QTBGhXVv6grxdlwoU9N23npdi0YpW1ftZzXGDa85+gINQ807
      # eK/gP/OtYPwIql0bgmLiuaRNzC9psmQOO6vQbdvd/e4BEVWkxiez37+e+zFMStmL
      # OAL8rS6jckUoxVZjCYFEWg97XOobLUIhQxt9Fwh2omMDGKTwv861ghUAivxSWs93
      # IRNxfwqNPxnpDDXjnK1ayZgU08IL98AUYVKcPN1y8JvEhB4Hr1k=
      # =ndKk
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 29 Jun 2022 01:30:41 PM +0530
      # gpg:                using RSA key 8B9C26CDB2FD147C880E86A1561F24C1F19F79FB
      # gpg: Good signature from "Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>" [unknown]
      # gpg:                 aka "Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.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: 8B9C 26CD B2FD 147C 880E  86A1 561F 24C1 F19F 79FB
      
      * tag 'pull-block-2022-06-14-v2' of https://gitlab.com/vsementsov/qemu
      
      :
        block: use 'unsigned' for in_flight field on driver state
        nbd: trace long NBD operations
        iotests: copy-before-write: add cases for cbw-timeout option
        block/copy-before-write: implement cbw-timeout option
        block/block-copy: block_copy(): add timeout_ns parameter
        util: add qemu-co-timeout
        iotests: add copy-before-write: on-cbw-error tests
        block/copy-before-write: add on-cbw-error open parameter
        block/copy-before-write: refactor option parsing
      Signed-off-by: Richard Henderson's avatarRichard Henderson <richard.henderson@linaro.org>
      f96d4e0f
    • Denis V. Lunev's avatar
      block: use 'unsigned' for in_flight field on driver state · 1b8f7776
      Denis V. Lunev authored
      
      
      This patch makes in_flight field 'unsigned' for BDRVNBDState and
      MirrorBlockJob. This matches the definition of this field on BDS
      and is generically correct - we should never get negative value here.
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      CC: John Snow <jsnow@redhat.com>
      CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      CC: Kevin Wolf <kwolf@redhat.com>
      CC: Hanna Reitz <hreitz@redhat.com>
      CC: Eric Blake <eblake@redhat.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      1b8f7776
    • Denis V. Lunev's avatar
      nbd: trace long NBD operations · 8bb100c9
      Denis V. Lunev authored
      
      
      At the moment there are 2 sources of lengthy operations if configured:
      * open connection, which could retry inside and
      * reconnect of already opened connection
      These operations could be quite lengthy and cumbersome to catch thus
      it would be quite natural to add trace points for them.
      
      This patch is based on the original downstream work made by Vladimir.
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      CC: Eric Blake <eblake@redhat.com>
      CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      CC: Kevin Wolf <kwolf@redhat.com>
      CC: Hanna Reitz <hreitz@redhat.com>
      CC: Paolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      8bb100c9
    • Vladimir Sementsov-Ogievskiy's avatar
      iotests: copy-before-write: add cases for cbw-timeout option · 9d05a87b
      Vladimir Sementsov-Ogievskiy authored
      
      
      Add two simple test-cases: timeout failure with
      break-snapshot-on-cbw-error behavior and similar with
      break-guest-write-on-cbw-error behavior.
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
      Reviewed-by: Hanna Reitz's avatarHanna Reitz <hreitz@redhat.com>
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      9d05a87b
    • Vladimir Sementsov-Ogievskiy's avatar
      block/copy-before-write: implement cbw-timeout option · 6db7fd1c
      Vladimir Sementsov-Ogievskiy authored
      
      
      In some scenarios, when copy-before-write operations lasts too long
      time, it's better to cancel it.
      
      Most useful would be to use the new option together with
      on-cbw-error=break-snapshot: this way if cbw operation takes too long
      time we'll just cancel backup process but do not disturb the guest too
      much.
      
      Note the tricky point of realization: we keep additional point in
      bs->in_flight during block_copy operation even if it's timed-out.
      Background "cancelled" block_copy operations will finish at some point
      and will want to access state. We should care to not free the state in
      .bdrv_close() earlier.
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
      Reviewed-by: Hanna Reitz's avatarHanna Reitz <hreitz@redhat.com>
        [vsementsov: use bdrv_inc_in_flight()/bdrv_dec_in_flight() instead of
         direct manipulation on bs->in_flight]
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      6db7fd1c
    • Vladimir Sementsov-Ogievskiy's avatar
      block/block-copy: block_copy(): add timeout_ns parameter · 15df6e69
      Vladimir Sementsov-Ogievskiy authored
      
      
      Add possibility to limit block_copy() call in time. To be used in the
      next commit.
      
      As timed-out block_copy() call will continue in background anyway (we
      can't immediately cancel IO operation), it's important also give user a
      possibility to pass a callback, to do some additional actions on
      block-copy call finish.
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
      Reviewed-by: Hanna Reitz's avatarHanna Reitz <hreitz@redhat.com>
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      15df6e69
    • Vladimir Sementsov-Ogievskiy's avatar
      util: add qemu-co-timeout · e1878eb5
      Vladimir Sementsov-Ogievskiy authored
      
      
      Add new API, to make a time limited call of the coroutine.
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
      Reviewed-by: Hanna Reitz's avatarHanna Reitz <hreitz@redhat.com>
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      e1878eb5
    • Vladimir Sementsov-Ogievskiy's avatar
      iotests: add copy-before-write: on-cbw-error tests · dd3e97df
      Vladimir Sementsov-Ogievskiy authored
      
      
      Add tests for new option of copy-before-write filter: on-cbw-error.
      
      Note that we use QEMUMachine instead of VM class, because in further
      commit we'll want to use throttling which doesn't work with -accel
      qtest used by VM.
      
      We also touch pylintrc to not break iotest 297.
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
      Reviewed-by: Hanna Reitz's avatarHanna Reitz <hreitz@redhat.com>
        [vsementsov: add arguments to QEMUMachine constructor]
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      dd3e97df
  2. 28 Jun, 2022 22 commits
  3. 27 Jun, 2022 9 commits