qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] f6f213: migration: Remove RDMA_UNREGISTRATION


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] f6f213: migration: Remove RDMA_UNREGISTRATION_EXAMPLE
Date: Thu, 23 Jun 2022 11:53:22 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f6f213e4c713c4a6c3f9de775aa526f2288e3d2d
      
https://github.com/qemu/qemu/commit/f6f213e4c713c4a6c3f9de775aa526f2288e3d2d
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  migration: Remove RDMA_UNREGISTRATION_EXAMPLE

Nobody has ever showed up to unregister individual pages, and another
set of patches written by Daniel P. Berrangé <berrange@redhat.com>
just remove qemu_rdma_signal_unregister() function needed here.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 803ca43e4c7fcf32f9f68c118301ccd0c83ece3f
      
https://github.com/qemu/qemu/commit/803ca43e4c7fcf32f9f68c118301ccd0c83ece3f
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M io/channel-socket.c

  Log Message:
  -----------
  QIOChannelSocket: Introduce assert and reduce ifdefs to improve readability

During implementation of MSG_ZEROCOPY feature, a lot of #ifdefs were
introduced, particularly at qio_channel_socket_writev().

Rewrite some of those changes so it's easier to read.

Also, introduce an assert to help detect incorrect zero-copy usage is when
it's disabled on build.

Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Fixed up thinko'd g_assert_unreachable->g_assert_not_reached


  Commit: 4f5a09714c983a3471fd12e3c7f3196e95c650c1
      
https://github.com/qemu/qemu/commit/4f5a09714c983a3471fd12e3c7f3196e95c650c1
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M io/channel-socket.c

  Log Message:
  -----------
  QIOChannelSocket: Fix zero-copy send so socket flush works

Somewhere between v6 and v7 the of the zero-copy-send patchset a crucial
part of the flushing mechanism got missing: incrementing zero_copy_queued.

Without that, the flushing interface becomes a no-op, and there is no
guarantee the buffer is really sent.

This can go as bad as causing a corruption in RAM during migration.

Fixes: 2bc58ffc2926 ("QIOChannelSocket: Implement io_writev zero copy flag & 
io_flush for CONFIG_LINUX")
Reported-by: 徐闯 <xuchuangxclwt@bytedance.com>
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 1abaec9a1b2c23f7aa94709a422128d9e42c3e0b
      
https://github.com/qemu/qemu/commit/1abaec9a1b2c23f7aa94709a422128d9e42c3e0b
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/migration.c
    M monitor/hmp-cmds.c
    M qapi/migration.json

  Log Message:
  -----------
  migration: Change zero_copy_send from migration parameter to migration 
capability

When originally implemented, zero_copy_send was designed as a Migration
paramenter.

But taking into account how is that supposed to work, and how
the difference between a capability and a parameter, it only makes sense
that zero-copy-send would work better as a capability.

Taking into account how recently the change got merged, it was decided
that it's still time to make it right, and convert zero_copy_send into
a Migration capability.

Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: always define the capability, even on non-Linux but error if
set; avoids build problems with the capability


  Commit: 87e42764490896e66ab8a3c93280384689b0acb4
      
https://github.com/qemu/qemu/commit/87e42764490896e66ab8a3c93280384689b0acb4
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    A include/io/channel-null.h
    A io/channel-null.c
    M io/meson.build
    M io/trace-events
    M tests/unit/meson.build
    A tests/unit/test-io-channel-null.c

  Log Message:
  -----------
  io: add a QIOChannelNull equivalent to /dev/null

This is for code which needs a portable equivalent to a QIOChannelFile
connected to /dev/null.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: c0e0825c98cf608fe2775395b79c53efe0324f8e
      
https://github.com/qemu/qemu/commit/c0e0825c98cf608fe2775395b79c53efe0324f8e
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: switch to use QIOChannelNull for dummy channel

This removes one further custom impl of QEMUFile, in favour of a
QIOChannel based impl.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 246683c22f21df0572bd3ab756ac9e688e856cb1
      
https://github.com/qemu/qemu/commit/246683c22f21df0572bd3ab756ac9e688e856cb1
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  migration: remove unreachble RDMA code in save_hook impl

The QEMUFile 'save_hook' callback has a 'size_t size' parameter.

The RDMA impl of this has logic that takes different actions
depending on whether the value is zero or non-zero. It has
commented out logic that would have taken further actions
if the value was negative.

The only place where the 'save_hook' callback is invoked is
the ram_control_save_page() method, which passes 'size'
through from its caller. The only caller of this method is
in turn control_save_page(). This method unconditionally
passes the 'TARGET_PAGE_SIZE' constant for the 'size' parameter.

IOW, the only scenario for 'size' that can execute in the
qemu_rdma_save_page method is 'size > 0'. The remaining code
has been unreachable since RDMA support was first introduced
9 years ago.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: c7fc8d323ad1a3110925088096376eca4163be71
      
https://github.com/qemu/qemu/commit/c7fc8d323ad1a3110925088096376eca4163be71
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  migration: rename rate limiting fields in QEMUFile

This renames the following QEMUFile fields

 * bytes_xfer -> rate_limit_used
 * xfer_limit -> rate_limit_max

The intent is to make it clear that 'bytes_xfer' is specifically related
to rate limiting of data and applies to data queued, which need not have
been transferred on the wire yet if a flush hasn't taken place.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 154d87b4ef7f32fe4b11357648ec0b81b7e77d59
      
https://github.com/qemu/qemu/commit/154d87b4ef7f32fe4b11357648ec0b81b7e77d59
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  migration: rename 'pos' field in QEMUFile to 'bytes_processed'

The field name 'pos' gives the misleading impression that the QEMUFile
objects are seekable. This is not the case, as in general we just
have an opaque stream. The users of this method are only interested
in the total bytes processed. This switches to a new name that
reflects the intended usage.

Every QIOChannel backed impl of QEMUFile is currently ignoring the
'pos' field.

The only QEMUFile impl using 'pos' as an offset for I/O is the block
device vmstate. A later patch is introducing a QIOChannel impl for the
vmstate, and to handle this it is tracking a file offset itself
internally to the QIOChannel impl. So when we later eliminate the
QEMUFileOps callbacks later, the 'pos' field will no longer be used
from any I/O read/write methods.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Fixed long line


  Commit: fbfa6404e597920ad72510461e0b0fed5243ce1d
      
https://github.com/qemu/qemu/commit/fbfa6404e597920ad72510461e0b0fed5243ce1d
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/block.c
    M migration/migration.c
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/savevm.c
    M migration/vmstate.c

  Log Message:
  -----------
  migration: rename qemu_ftell to qemu_file_total_transferred

The name 'ftell' gives the misleading impression that the QEMUFile
objects are seekable. This is not the case, as in general we just
have an opaque stream. The users of this method are only interested
in the total bytes processed. This switches to a new name that
reflects the intended usage.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
   dgilbert: Wrapped long line


  Commit: 1a93bd2f60acbf7eb3583805f9d6605d909d403f
      
https://github.com/qemu/qemu/commit/1a93bd2f60acbf7eb3583805f9d6605d909d403f
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/ram.c

  Log Message:
  -----------
  migration: rename qemu_update_position to qemu_file_credit_transfer

The qemu_update_position method name gives the misleading impression
that it is changing the current file offset. Most of the files are
just streams, however, so there's no concept of a file offset in the
general case.

What this method is actually used for is to report on the number of
bytes that have been transferred out of band from the main I/O methods.
This new name better reflects this purpose.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: bc698c367d6fac15454ee3ff6bb168e43c151465
      
https://github.com/qemu/qemu/commit/bc698c367d6fac15454ee3ff6bb168e43c151465
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/multifd.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: rename qemu_file_update_transfer to qemu_file_acct_rate_limit

The qemu_file_update_transfer name doesn't give a clear guide on what
its purpose is, and how it differs from the qemu_file_credit_transfer
method. The latter is specifically for accumulating for total migration
traffic, while the former is specifically for accounting in thue rate
limit calculations. The new name give better guidance on its usage.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 65cf200a51ddc6d0a28ecceac30dc892233cddd7
      
https://github.com/qemu/qemu/commit/65cf200a51ddc6d0a28ecceac30dc892233cddd7
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    A migration/channel-block.c
    A migration/channel-block.h
    M migration/meson.build

  Log Message:
  -----------
  migration: introduce a QIOChannel impl for BlockDriverState VMState

Introduce a QIOChannelBlock class that exposes the BlockDriverState
VMState region for I/O.

This is kept in the migration/ directory rather than io/, to avoid
a mutual dependancy between block/ <-> io/ directories. Also the
VMState should only be used by the migration code.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Fixed coding style in qio_channel_block_close


  Commit: 67bdabe2af52cf5bb9420f57e0f67c9b571e1e5d
      
https://github.com/qemu/qemu/commit/67bdabe2af52cf5bb9420f57e0f67c9b571e1e5d
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration: convert savevm to use QIOChannelBlock for VMState

With this change, all QEMUFile usage is backed by QIOChannel at
last.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Wrap long lines


  Commit: 365c0463db9382130c7201c5c91021fe84bf5f77
      
https://github.com/qemu/qemu/commit/365c0463db9382130c7201c5c91021fe84bf5f77
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/rdma.c

  Log Message:
  -----------
  migration: stop passing 'opaque' parameter to QEMUFile hooks

The only user of the hooks is RDMA which provides a QIOChannel backed
impl of QEMUFile. It can thus use the qemu_file_get_ioc() method.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 2893a2884b1deb09af51f4377f1aaf29b28b0c93
      
https://github.com/qemu/qemu/commit/2893a2884b1deb09af51f4377f1aaf29b28b0c93
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: hardcode assumption that QEMUFile is backed with QIOChannel

The only callers of qemu_fopen_ops pass 'true' for the 'has_ioc'
parameter, so hardcode this assumption in QEMUFile, by passing in
the QIOChannel object as a non-opaque parameter.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
   dgilbert: Fixed long line


  Commit: c0c6e1e2dd26ee3ee0218d64be6c532872935070
      
https://github.com/qemu/qemu/commit/c0c6e1e2dd26ee3ee0218d64be6c532872935070
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: introduce new constructors for QEMUFile

Prepare for the elimination of QEMUFileOps by introducing a pair of new
constructors. This lets us distinguish between an input and output file
object explicitly rather than via the existance of specific callbacks.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0f58c3fcc7e0e9eb9127d4a2019f4a31825d79e3
      
https://github.com/qemu/qemu/commit/0f58c3fcc7e0e9eb9127d4a2019f4a31825d79e3
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove unused QEMUFileGetFD typedef / qemu_get_fd method

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: d3c581b750ab099aa8937df5533655b3f9d08ab3
      
https://github.com/qemu/qemu/commit/d3c581b750ab099aa8937df5533655b3f9d08ab3
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'shut_down' callback

This directly implements the shutdown logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 80ad97069c3c434a3631f0c8bc0d5c4cee09be6d
      
https://github.com/qemu/qemu/commit/80ad97069c3c434a3631f0c8bc0d5c4cee09be6d
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'set_blocking' callback

This directly implements the set_blocking logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0ae1f7f055d757c01ce3144a7041fa9341a3715b
      
https://github.com/qemu/qemu/commit/0ae1f7f055d757c01ce3144a7041fa9341a3715b
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'close' callback

This directly implements the close logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f759d7050bd0ec34f45bc0d91800625a6938e203
      
https://github.com/qemu/qemu/commit/f759d7050bd0ec34f45bc0d91800625a6938e203
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-23 (Thu, 23 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'get_buffer' callback

This directly implements the get_buffer logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Fixup len = *-*EIO as spotted by Peter Xu


  Commit: ec2135eec80dc0bd4089d8af2db28c386fadc558
      
https://github.com/qemu/qemu/commit/ec2135eec80dc0bd4089d8af2db28c386fadc558
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-23 (Thu, 23 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'writev_buffer' callback

This directly implements the writev_buffer logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 02bdbe172da51ae2189d8c6035c3aeb3788b553f
      
https://github.com/qemu/qemu/commit/02bdbe172da51ae2189d8c6035c3aeb3788b553f
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-23 (Thu, 23 Jun 2022)

  Changed paths:
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: remove the QEMUFileOps 'get_return_path' callback

This directly implements the get_return_path logic using QIOChannel APIs.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 77ef2dc1c8c6a482fd06fdf3b59d0647f0850e3e
      
https://github.com/qemu/qemu/commit/77ef2dc1c8c6a482fd06fdf3b59d0647f0850e3e
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-23 (Thu, 23 Jun 2022)

  Changed paths:
    M migration/channel.c
    M migration/colo.c
    M migration/meson.build
    M migration/migration.c
    R migration/qemu-file-channel.c
    R migration/qemu-file-channel.h
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/ram.c
    M migration/rdma.c
    M migration/savevm.c
    M tests/unit/test-vmstate.c

  Log Message:
  -----------
  migration: remove the QEMUFileOps abstraction

Now that all QEMUFile callbacks are removed, the entire concept can be
deleted.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7db86fe2ed220c196061824e652b94e7a2acbabf
      
https://github.com/qemu/qemu/commit/7db86fe2ed220c196061824e652b94e7a2acbabf
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-06-23 (Thu, 23 Jun 2022)

  Changed paths:
    A include/io/channel-null.h
    A io/channel-null.c
    M io/channel-socket.c
    M io/meson.build
    M io/trace-events
    M migration/block.c
    A migration/channel-block.c
    A migration/channel-block.h
    M migration/channel.c
    M migration/colo.c
    M migration/meson.build
    M migration/migration.c
    M migration/multifd.c
    R migration/qemu-file-channel.c
    R migration/qemu-file-channel.h
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/ram.c
    M migration/rdma.c
    M migration/savevm.c
    M migration/vmstate.c
    M monitor/hmp-cmds.c
    M qapi/migration.json
    M tests/unit/meson.build
    A tests/unit/test-io-channel-null.c
    M tests/unit/test-vmstate.c

  Log Message:
  -----------
  Merge tag 'pull-migration-20220623b' of https://gitlab.com/dagrh/qemu into 
staging

[v3] Migration pull 2022-06-23

This replaces my and Juan's earlier pulls over the last 2 days;
4th time lucky?

Compared to my pull earlier:
  Removed Hyman's dirty ring set

In this migration PULL request:
- Dainiel Berrangé - qemufileops cleanup
- Leonardo Bras  - cleanups for zero copy
- Juan Quintela  - RDMA cleanups

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEERfXHG0oMt/uXep+pBRYzHrxb/ecFAmK0mnwACgkQBRYzHrxb
# /ecJYQ/8DdQBVYpJjpHj3mBx39aXodM7uM4Jt1okuSF92y9KRSNdIs3nvvwWAZbL
# dWAUHUZBNOfZF7Eqe6WWCIDNxUTz88RkMM16N3+a5sqBa0xU6rP6cvyw9vYrnsmx
# aHVQ1ESosTby2qcb1ofjYRXWNt7GhDtRIH55m3mSalP/WAgjMe3MsrAtz66T4w55
# 4paTVwgS/WMuLD9dqyESyofePnvtM8z3ye2a75JRscBQYmpO+XuX3IX5ah6m439s
# fI1BezQU2Q4YNDmCEWvdfZ2tqgcfi8dHnu0JB9QTfbkPVh9jw25VPpnymimMB7iW
# MlXAlDr7m9HQI6OjIkq8pXBcgWQpbVGMon1CcrDmGCReEjnQ5lTsb27fkXzf/Nwu
# 09iuNfYGcSGAbZ8GZa/lrRTGeINrSj99uOVxrTvVS0db2+1va3hkamGMULhsdX6O
# smOrje79pVLAr7JJSMH2bqFv9cKtLu77HndSVtswkRRMhtDU+VQI5FxYlwueuawJ
# toDM4DJMd3pJHIpPrUwxlo4D9dkdxPfqC1GATDPxw9/vYgbORn8fkt5g9EYxBzc0
# pWRY9SNuw0MC54JGEoFc77+VKJXK1A97j9GoF+Vyoh30yTgZ3q9tm2eElpYwtHDy
# t8zEVC9QadcgMdRAnJqgZgaWdfwKiHpjplSn5lOGDLOo7gfSmik=
# =ajVU
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 23 Jun 2022 09:53:16 AM PDT
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]

* tag 'pull-migration-20220623b' of https://gitlab.com/dagrh/qemu: (25 commits)
  migration: remove the QEMUFileOps abstraction
  migration: remove the QEMUFileOps 'get_return_path' callback
  migration: remove the QEMUFileOps 'writev_buffer' callback
  migration: remove the QEMUFileOps 'get_buffer' callback
  migration: remove the QEMUFileOps 'close' callback
  migration: remove the QEMUFileOps 'set_blocking' callback
  migration: remove the QEMUFileOps 'shut_down' callback
  migration: remove unused QEMUFileGetFD typedef / qemu_get_fd method
  migration: introduce new constructors for QEMUFile
  migration: hardcode assumption that QEMUFile is backed with QIOChannel
  migration: stop passing 'opaque' parameter to QEMUFile hooks
  migration: convert savevm to use QIOChannelBlock for VMState
  migration: introduce a QIOChannel impl for BlockDriverState VMState
  migration: rename qemu_file_update_transfer to qemu_file_acct_rate_limit
  migration: rename qemu_update_position to qemu_file_credit_transfer
  migration: rename qemu_ftell to qemu_file_total_transferred
  migration: rename 'pos' field in QEMUFile to 'bytes_processed'
  migration: rename rate limiting fields in QEMUFile
  migration: remove unreachble RDMA code in save_hook impl
  migration: switch to use QIOChannelNull for dummy channel
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/2b049d2c8dc0...7db86fe2ed22



reply via email to

[Prev in Thread] Current Thread [Next in Thread]