Skip to content
Snippets Groups Projects
  1. Aug 31, 2023
  2. Aug 30, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging · 156618d9
      Stefan Hajnoczi authored
      Pull request
      
      v3:
      - Drop UFS emulation due to CI failures
      - Add "aio-posix: zero out io_uring sqe user_data"
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmTvLIEACgkQnKSrs4Gr
      # c8itVggAka3RMkEclbeW7JKJBOolm3oUuJTobV8oJfDNMQ8mmom9JkXVUctyPWQT
      # EF+oeqZz1omjr0Dk7YEA2toCahTbXm/UsG7i6cZg8JXPl6e9sOne0j+p5zO5x/kc
      # YlG43SBQJHdp/BfTm/gvwUh0W2on0wadaeEV82m3ZyIrZGTgNcrC1p1gj5dwF5VX
      # SqW02mgALETECyJpo8O7y9vNUYGxEtETG9jzAhtrugGpYk4bPeXlm/rc+2zwV+ET
      # YCnfUvhjhlu5vS4nkta6natg0If16ODjy35vWYm/aGlgveGTqQq9HWgTL71eNuxm
      # Smn+hJHuvkyBclKjbGiiO1W1MuG1/g==
      # =UvNK
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 30 Aug 2023 07:48:17 EDT
      # gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [ultimate]
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [ultimate]
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * tag 'block-pull-request' of https://gitlab.com/stefanha/qemu
      
      :
        aio-posix: zero out io_uring sqe user_data
        tests/qemu-iotests/197: add testcase for CoR with subclusters
        block/io: align requests to subcluster_size
        block: add subcluster_size field to BlockDriverInfo
        block-migration: Ensure we don't crash during migration cleanup
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      156618d9
    • Stefan Hajnoczi's avatar
      Merge tag 'dirtylimit-dirtyrate-pull-request' of https://github.com/newfriday/qemu into staging · ee89152d
      Stefan Hajnoczi authored
      Dirtylimit and dirtyrate 20230829 patches PULL request
      
      Correct memory leaks in dirtylimit and accuracy losses in
      dirtyrate, respectively; make minor corrections to overshoot
      and memory deallocation.
      
      This is v3 with a signed tag. Please apply.
      
      Thanks, Yong.
      
      # -----BEGIN PGP SIGNATURE-----
      # Version: GnuPG v2.0.22 (GNU/Linux)
      #
      # iQIcBAABAgAGBQJk7VtOAAoJEN/yI9az/suchasP/j/7DQTggrrB/2lWhB79BTrT
      # L+Tgljh9zynrJeL/OjvE7VD3sxDcHQmHprGT7FkdgIdd3fHl8GHnFz8L1CMLg63E
      # i/4SY3RFIvmMqMrmBNx77+D6nSfezKrkwmoln7VGjK6rC0s86PRok+Dxf4SaoP1i
      # cCeFOq2O0U/im1fQQl0uETqxYAX+StVRhnpWTqpPFBBaVCmCGQx3WWXGXXFOl5PB
      # JNLgDX3lxSpSIfRK9vCb61gFe8gMp+5hUDZgfUln9fmXrO6NsVgHEjvsMqm9UZO1
      # tNGSh1GNmO2du6m2iCzVChB8bfe9P3g/XAubfRIkqZtWZK8lhz1mVQEg4wJ4VgX1
      # uMAi8gzpMV5Rdiy9MWYZW9sCuoiZepksBuGtrFMBXXyCpP76N+uWshfj+/Mp2mt0
      # 475ZiC4silwCeRDWH4UkTyNQtc7+WVRjZP0ToXuUOSyWFdyRPCQdAIDlUacxk/9p
      # BSymBM2P760oa4IMCwhey5/WaFdfFFcMD4e2UwfTpafwY5uwVOTxN23k7+iCivQs
      # 3RbP8ghvakgNPTO+1HcdoRW/LrjnGn1mZ5qvLj1+f7slP5NEsBDZVEylQJIHjXh4
      # oE8OwB/rRexlUGRUuIgMpVeEk8/LcEMy73I+dj/zSkfQEw8KuCp6EUB5HFiciS0/
      # IG5X0TdcvAdicG8qmDGx
      # =NKkN
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 28 Aug 2023 22:43:26 EDT
      # gpg:                using RSA key DFF223D6B3FECB9C
      # gpg: Can't check signature: No public key
      
      * tag 'dirtylimit-dirtyrate-pull-request' of https://github.com/newfriday/qemu
      
      :
        migration/dirtyrate: Fix precision losses and g_usleep overshoot
        softmmu/dirtylimit: Convert free to g_free
        softmmu: Fix dirtylimit memory leak
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      ee89152d
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-tcg-20230829-2' of https://gitlab.com/rth7680/qemu into staging · ef9d20c6
      Stefan Hajnoczi authored
      softmmu: Use async_run_on_cpu in tcg_commit
      tcg: Remove vecop_list check from tcg_gen_not_vec
      tcg/sparc64: Disable TCG_TARGET_HAS_extr_i64_i32
      Revert "include/exec: typedef abi_ptr to vaddr in softmmu"
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmTuOcYdHHJpY2hhcmQu
      # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV9gGwf/QzbRP8MknlCZXrkZ
      # ykIZAkE4gRUb64Wzc2Oz1XaueltgBGRCS338oE8umtcLKTngZ8rVFD/LPTIEyAEY
      # SOzdHEJLPMSUv54rjAV8W4mVku81E9QvzOgz8PIzFM0mDiPJ/lG6JBTee/IZJHr3
      # cW9W/2XMEz2rS2ONPj7WXbVbk/1ao29JFlhcWKNauUfqrNWK+VWOpo2w5qfgJruz
      # mjOSiMErU7SijytrKG9GP3Ri1JGskocfGcYYPofz8j6lmQoZrT6aYUj2tJTL8rvQ
      # Js+JCP8ZCXFO8/2jJqOivQccBGmLi8wf6Ke777xE0tAqfzXqBOp4tvJbv28e8lja
      # p+Lqhg==
      # =KPna
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue 29 Aug 2023 14:32:38 EDT
      # gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
      # gpg:                issuer "richard.henderson@linaro.org"
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full]
      # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
      
      * tag 'pull-tcg-20230829-2' of https://gitlab.com/rth7680/qemu
      
      :
        Revert "include/exec: typedef abi_ptr to vaddr in softmmu"
        tcg/sparc64: Disable TCG_TARGET_HAS_extr_i64_i32
        tcg: Remove vecop_list check from tcg_gen_not_vec
        softmmu: Use async_run_on_cpu in tcg_commit
        softmmu: Assert data in bounds in iotlb_to_section
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      ef9d20c6
    • Stefan Hajnoczi's avatar
      aio-posix: zero out io_uring sqe user_data · 87ec6f55
      Stefan Hajnoczi authored
      
      liburing does not clear sqe->user_data. We must do it ourselves to avoid
      undefined behavior in process_cqe() when user_data is used.
      
      Note that fdmon-io_uring is currently disabled, so this is a latent bug
      that does not affect users. Let's merge this fix now to make it easier
      to enable fdmon-io_uring in the future (and I'm working on that).
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-ID: <20230426212639.82310-1-stefanha@redhat.com>
      87ec6f55
    • Andrey Drobyshev's avatar
      tests/qemu-iotests/197: add testcase for CoR with subclusters · e2f93826
      Andrey Drobyshev authored
      
      Add testcase which checks that allocations during copy-on-read are
      performed on the subcluster basis when subclusters are enabled in target
      image.
      
      This testcase also triggers the following assert with previous commit
      not being applied, so we check that as well:
      
      qemu-io: ../block/io.c:1236: bdrv_co_do_copy_on_readv: Assertion `skip_bytes < pnum' failed.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarAndrey Drobyshev <andrey.drobyshev@virtuozzo.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-ID: <20230711172553.234055-4-andrey.drobyshev@virtuozzo.com>
      e2f93826
    • Andrey Drobyshev's avatar
      block/io: align requests to subcluster_size · fc6b211f
      Andrey Drobyshev authored
      
      When target image is using subclusters, and we align the request during
      copy-on-read, it makes sense to align to subcluster_size rather than
      cluster_size.  Otherwise we end up with unnecessary allocations.
      
      This commit renames bdrv_round_to_clusters() to bdrv_round_to_subclusters()
      and utilizes subcluster_size field of BlockDriverInfo to make necessary
      alignments.  It affects copy-on-read as well as mirror job (which is
      using bdrv_round_to_clusters()).
      
      This change also fixes the following bug with failing assert (covered by
      the test in the subsequent commit):
      
      qemu-img create -f qcow2 base.qcow2 64K
      qemu-img create -f qcow2 -o extended_l2=on,backing_file=base.qcow2,backing_fmt=qcow2 img.qcow2 64K
      qemu-io -c "write -P 0xaa 0 2K" img.qcow2
      qemu-io -C -c "read -P 0x00 2K 62K" img.qcow2
      
      qemu-io: ../block/io.c:1236: bdrv_co_do_copy_on_readv: Assertion `skip_bytes < pnum' failed.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarAndrey Drobyshev <andrey.drobyshev@virtuozzo.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-ID: <20230711172553.234055-3-andrey.drobyshev@virtuozzo.com>
      fc6b211f
    • Andrey Drobyshev's avatar
      block: add subcluster_size field to BlockDriverInfo · c54483b6
      Andrey Drobyshev authored
      
      This is going to be used in the subsequent commit as requests alignment
      (in particular, during copy-on-read).  This value only makes sense for
      the formats which support subclusters (currently QCOW2 only).  If this
      field isn't set by driver's own bdrv_get_info() implementation, we
      simply set it equal to the cluster size thus treating each cluster as
      having a single subcluster.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarAndrey Drobyshev <andrey.drobyshev@virtuozzo.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-ID: <20230711172553.234055-2-andrey.drobyshev@virtuozzo.com>
      c54483b6
    • Fabiano Rosas's avatar
      block-migration: Ensure we don't crash during migration cleanup · f187609f
      Fabiano Rosas authored
      
      We can fail the blk_insert_bs() at init_blk_migration(), leaving the
      BlkMigDevState without a dirty_bitmap and BlockDriverState. Account
      for the possibly missing elements when doing cleanup.
      
      Fix the following crashes:
      
      Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
      0x0000555555ec83ef in bdrv_release_dirty_bitmap (bitmap=0x0) at ../block/dirty-bitmap.c:359
      359         BlockDriverState *bs = bitmap->bs;
       #0  0x0000555555ec83ef in bdrv_release_dirty_bitmap (bitmap=0x0) at ../block/dirty-bitmap.c:359
       #1  0x0000555555bba331 in unset_dirty_tracking () at ../migration/block.c:371
       #2  0x0000555555bbad98 in block_migration_cleanup_bmds () at ../migration/block.c:681
      
      Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
      0x0000555555e971ff in bdrv_op_unblock (bs=0x0, op=BLOCK_OP_TYPE_BACKUP_SOURCE, reason=0x0) at ../block.c:7073
      7073        QLIST_FOREACH_SAFE(blocker, &bs->op_blockers[op], list, next) {
       #0  0x0000555555e971ff in bdrv_op_unblock (bs=0x0, op=BLOCK_OP_TYPE_BACKUP_SOURCE, reason=0x0) at ../block.c:7073
       #1  0x0000555555e9734a in bdrv_op_unblock_all (bs=0x0, reason=0x0) at ../block.c:7095
       #2  0x0000555555bbae13 in block_migration_cleanup_bmds () at ../migration/block.c:690
      
      Signed-off-by: default avatarFabiano Rosas <farosas@suse.de>
      Message-id: 20230731203338.27581-1-farosas@suse.de
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      f187609f
  3. Aug 29, 2023
Loading