v3 of:

https://www.redhat.com/archives/libvir-list/2017-April/msg00671.html

All the patches can be found on my github:

  https://github.com/zippy2/libvirt/tree/sparse_streams2

diff to v2:
 - renamed APIs from Skip & GetHoleSize to SendHole & RecvHole
 - switched from 'unsigned long long len' to 'long long len' (where len is size 
of a hole)
 - introduced @flags to public APIs for future extensibility
 - couple of coding style fixes
 - couple of fixes suggested by John in review of v2

As expressed earlier, a lot of these patches should have Reviewed-by tag as
John reviewed majority of them. But we don't have a clear agreement when to use
the tag, so I'm not putting it in just yet. However, will do before pushing.

Some patches were ACKed. However, changes described above changed them, so I'm
not sure ACK still stands.

Michal Privoznik (31):
  virfdstream: Use messages instead of pipe
  util: Introduce virFileInData
  Introduce virStreamRecvFlags
  Implement virStreamRecvFlags to some drivers
  Introduce virStreamSendHole
  Introduce virStreamRecvHole
  Introduce VIR_STREAM_RECV_STOP_AT_HOLE flag
  Introduce virStreamSparseRecvAll
  Introduce virStreamSparseSendAll
  Introduce virStreamInData
  virNetClientStreamNew: Track origin stream
  Add new flag to daemonCreateClientStream and virNetClientStreamNew
  RPC: Introduce virNetStreamHole
  Introduce VIR_NET_STREAM_HOLE message type
  Teach wireshark plugin about VIR_NET_STREAM_HOLE
  daemon: Introduce virNetServerProgramSendStreamHole
  virnetclientstream: Introduce virNetClientStreamSendHole
  daemon: Implement VIR_NET_STREAM_HOLE handling
  virnetclientstream: Introduce virNetClientStreamHandleHole
  remote_driver: Implement virStreamSendHole
  virNetClientStreamRecvPacket: Introduce @flags argument
  Introduce virNetClientStreamRecvHole
  remote: Implement virStreamRecvHole
  virNetClientStream: Wire up VIR_NET_STREAM_HOLE
  remote_driver: Implement VIR_STREAM_RECV_STOP_AT_HOLE
  daemonStreamHandleRead: Wire up seekable stream
  fdstream: Implement sparse stream
  gendispatch: Introduce @sparseflag for our calls
  Introduce virStorageVol{Download,Upload}Flags
  virsh: Implement sparse stream to vol-download
  virsh: Implement sparse stream to vol-upload

 daemon/remote.c                      |   2 +-
 daemon/stream.c                      | 148 ++++++++-
 daemon/stream.h                      |   3 +-
 include/libvirt/libvirt-storage.h    |   9 +
 include/libvirt/libvirt-stream.h     | 115 ++++++-
 src/driver-stream.h                  |  25 ++
 src/esx/esx_stream.c                 |  16 +-
 src/libvirt-storage.c                |   4 +-
 src/libvirt-stream.c                 | 526 ++++++++++++++++++++++++++++++
 src/libvirt_internal.h               |   4 +
 src/libvirt_private.syms             |   2 +
 src/libvirt_public.syms              |   9 +
 src/libvirt_remote.syms              |   3 +
 src/remote/remote_driver.c           |  99 +++++-
 src/remote/remote_protocol.x         |   2 +
 src/rpc/gendispatch.pl               |  21 +-
 src/rpc/virnetclient.c               |   1 +
 src/rpc/virnetclientstream.c         | 238 +++++++++++++-
 src/rpc/virnetclientstream.h         |  18 +-
 src/rpc/virnetprotocol.x             |  17 +-
 src/rpc/virnetserverprogram.c        |  35 ++
 src/rpc/virnetserverprogram.h        |   8 +
 src/storage/storage_driver.c         |   4 +-
 src/storage/storage_util.c           |  10 +-
 src/util/virfdstream.c               | 609 +++++++++++++++++++++++++++++++----
 src/util/virfdstream.h               |   1 +
 src/util/virfile.c                   |  82 +++++
 src/util/virfile.h                   |   4 +
 src/virnetprotocol-structs           |   5 +
 tests/virfiletest.c                  | 203 ++++++++++++
 tools/virsh-util.c                   |  65 ++++
 tools/virsh-util.h                   |  29 ++
 tools/virsh-volume.c                 |  50 ++-
 tools/virsh.pod                      |   6 +-
 tools/wireshark/src/packet-libvirt.c |  52 +++
 tools/wireshark/src/packet-libvirt.h |   2 +
 36 files changed, 2301 insertions(+), 126 deletions(-)

-- 
2.13.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to