qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 5258f9: migration: Remove RDMA_UNREGISTRATION


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 5258f9: migration: Remove RDMA_UNREGISTRATION_EXAMPLE
Date: Tue, 21 Jun 2022 18:01:10 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 5258f9dd447dc3afb2f9de2f56608555af8362bc
      
https://github.com/qemu/qemu/commit/5258f9dd447dc3afb2f9de2f56608555af8362bc
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 1f2f6549293d22941843841f987c9cdbc913f04a
      
https://github.com/qemu/qemu/commit/1f2f6549293d22941843841f987c9cdbc913f04a
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 758bdaa919d1e733a38f74af64f4d3ced519e342
      
https://github.com/qemu/qemu/commit/758bdaa919d1e733a38f74af64f4d3ced519e342
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 239b431dd05375d19468da804028c424d87da24e
      
https://github.com/qemu/qemu/commit/239b431dd05375d19468da804028c424d87da24e
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 014fa096a9c6fafd2ca1ba4eb6bc0aaaefaad673
      
https://github.com/qemu/qemu/commit/014fa096a9c6fafd2ca1ba4eb6bc0aaaefaad673
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 75c2d3a93df6114aaab9656ad7dee87c5612d852
      
https://github.com/qemu/qemu/commit/75c2d3a93df6114aaab9656ad7dee87c5612d852
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 4e5911f40c1350639231992603a30006eb14988b
      
https://github.com/qemu/qemu/commit/4e5911f40c1350639231992603a30006eb14988b
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: e5c3747734052c2224777b6685c4b4d5f84ae0a7
      
https://github.com/qemu/qemu/commit/e5c3747734052c2224777b6685c4b4d5f84ae0a7
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: d319de809ffe3415cd03b1d4721bab2ad1ab2684
      
https://github.com/qemu/qemu/commit/d319de809ffe3415cd03b1d4721bab2ad1ab2684
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: a20750277aa1c9106c362a62bdc86cabe7577e70
      
https://github.com/qemu/qemu/commit/a20750277aa1c9106c362a62bdc86cabe7577e70
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 3944928233cb520a42029f673a0a7c629263f7bc
      
https://github.com/qemu/qemu/commit/3944928233cb520a42029f673a0a7c629263f7bc
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 1d29b904a7ce0d37d546d92b271fef3397fd3681
      
https://github.com/qemu/qemu/commit/1d29b904a7ce0d37d546d92b271fef3397fd3681
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 4d81927b86aa3569b80f8a86fb42c341ca947197
      
https://github.com/qemu/qemu/commit/4d81927b86aa3569b80f8a86fb42c341ca947197
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: f8613b15072c02ae1814bde8af0fac1dcc615254
      
https://github.com/qemu/qemu/commit/f8613b15072c02ae1814bde8af0fac1dcc615254
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: b764357ccc2b913d2c0615b7cbee5d791b1ab452
      
https://github.com/qemu/qemu/commit/b764357ccc2b913d2c0615b7cbee5d791b1ab452
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 3dffef08b743c717303bc3f38d98dc3d71fb5c6e
      
https://github.com/qemu/qemu/commit/3dffef08b743c717303bc3f38d98dc3d71fb5c6e
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 32589524e7d0944c3294a7e30e056461c47b1e48
      
https://github.com/qemu/qemu/commit/32589524e7d0944c3294a7e30e056461c47b1e48
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: da05c8e3306cb68e73274856d19f7f51d43ad1f4
      
https://github.com/qemu/qemu/commit/da05c8e3306cb68e73274856d19f7f51d43ad1f4
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 83a8a7b8a6f1d106e8e1017540e57de5c3cf9da0
      
https://github.com/qemu/qemu/commit/83a8a7b8a6f1d106e8e1017540e57de5c3cf9da0
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 6b1ddf4d2dc19b076792ec029d34643add90d712
      
https://github.com/qemu/qemu/commit/6b1ddf4d2dc19b076792ec029d34643add90d712
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: bf8a97a7a7b5d3d9b2eba1ec95e483ed34322ee1
      
https://github.com/qemu/qemu/commit/bf8a97a7a7b5d3d9b2eba1ec95e483ed34322ee1
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 4f2cc15e730a0159142cdb80e7c5d942afa87526
      
https://github.com/qemu/qemu/commit/4f2cc15e730a0159142cdb80e7c5d942afa87526
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 67dec7da553e482e9b541f5c2463b48035426a95
      
https://github.com/qemu/qemu/commit/67dec7da553e482e9b541f5c2463b48035426a95
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: bf6f581d3c564190afd67c71754f3d3af21b3fe4
      
https://github.com/qemu/qemu/commit/bf6f581d3c564190afd67c71754f3d3af21b3fe4
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 720eceaa316f2a75a7930085bb305850831a065f
      
https://github.com/qemu/qemu/commit/720eceaa316f2a75a7930085bb305850831a065f
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2022-06-21 (Tue, 21 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>


  Commit: 06c59219510033b8d0961401c73961aa0351c810
      
https://github.com/qemu/qemu/commit/06c59219510033b8d0961401c73961aa0351c810
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-06-21 (Tue, 21 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 'migration-20220621-pull-request' of 
https://gitlab.com/juan.quintela/qemu into staging

Migration Pull request

Hi

In this today migration PULL request:
- dainiel Berrangé qemufileops cleanup
- Leonardo Brass cleanups for zero copy
- RDMA cleanups (me)

Please, apply.

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmKyYWUACgkQ9IfvGFhy
# 1yOwQRAAnH/iQwzVhDVq8duYCyeADElPHIpJgmz9+5uhnqOJR30McGhXh9jPBCf6
# hOTM3MzaP5etlDvRKEmnN0ARS0fL9MFT4oufwRo+HLW49o+RQa5UhdA0/kZo/CWU
# qzkdnbBvOn+sI6xON2PVMu+v4HL2ZRcCN12DZIO8qMC6jW4W4kaERw+rugrpJVp1
# 3kRcIsEYpsCGGdtYx43Ill4Ldo65fjaOuPBKPA0SuwjV9BJ7iLfx203eya30Fp4a
# uasYMIxwUbDHRDklmxfCaEUQkfukhsOP6aJxxnVNm2MKW8IXdVGSkCE6ngdjBfjT
# +B6psTFn9ZhkyEvLycCdVx88Ok4sPvNbGV0KTjd7WT/wuwn0Z9FJ+0L6rSaOvytz
# oENRF/i2Y/yXePQLxilHNJCRriiHmxu05aw5PZ507dTORWlXeGhS79dBRIESwBQa
# XRZnc76s6euD41suK6yd3z14CVcLqqugnXK3/tTZ8vEkk3TFDZVXSz8TtOfNWc6u
# l/Ta6klL39cr1y03ST1qB2iirZPpLdYugnCZsT+5kKWUDA1TlVc1jjGvnd+FhE0z
# z8FS+mOKA4xPDtws3EI+Rzq8caONI74IfTptJySrH8TlctL0s9fkHy5NYoIxzrj6
# Jdr7rqlI6ls2e02XYA4uAQ+Kd1jO249xBHozuOe37bApyzzblY8=
# =psnk
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 21 Jun 2022 05:25:09 PM PDT
# gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [undefined]
# gpg:                 aka "Juan Quintela <quintela@trasno.org>" [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: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* tag 'migration-20220621-pull-request' of 
https://gitlab.com/juan.quintela/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/f200ff158d5a...06c592195100



reply via email to

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