qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] aec21d: qapi: Add InetSocketAddress member ke


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] aec21d: qapi: Add InetSocketAddress member keep-alive
Date: Fri, 16 Aug 2019 08:43:21 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: aec21d31756cbda4ad1d0fc5c60797d2c1eecf33
      
https://github.com/qemu/qemu/commit/aec21d31756cbda4ad1d0fc5c60797d2c1eecf33
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M qapi/sockets.json
    M util/qemu-sockets.c

  Log Message:
  -----------
  qapi: Add InetSocketAddress member keep-alive

It's needed to provide keepalive for nbd client to track server
availability.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Acked-by: Daniel P. Berrangé <address@hidden>
[eblake: Fix error message typo]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 3299e5ecf7e1c9443189e50c949d97e536022c59
      
https://github.com/qemu/qemu/commit/3299e5ecf7e1c9443189e50c949d97e536022c59
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/io.c
    M include/block/block.h

  Log Message:
  -----------
  block: implement BDRV_REQ_PREFETCH

Do effective copy-on-read request when we don't need data actually. It
will be used for block-stream and NBD_CMD_CACHE.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
[eblake: comment grammar fix]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 99136607b1edb0129d1ebb6ecac21738ad3d9c36
      
https://github.com/qemu/qemu/commit/99136607b1edb0129d1ebb6ecac21738ad3d9c36
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/stream.c

  Log Message:
  -----------
  block/stream: use BDRV_REQ_PREFETCH

This helps to avoid extra io, allocations and memory copying.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
[eblake: fix comment grammar]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 7fa5c5657f11096101f5be18fe1f7395776be5a6
      
https://github.com/qemu/qemu/commit/7fa5c5657f11096101f5be18fe1f7395776be5a6
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd: improve CMD_CACHE: use BDRV_REQ_PREFETCH

This helps to avoid extra io, allocations and memory copying.
We assume here that CMD_CACHE is always used with copy-on-read, as
otherwise it's a noop.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 962b7b3d4c3aed241ec28ea712ec9079ac98d3ad
      
https://github.com/qemu/qemu/commit/962b7b3d4c3aed241ec28ea712ec9079ac98d3ad
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: split connection_co start out of nbd_client_connect

nbd_client_connect is going to be used from connection_co, so, let's
refactor nbd_client_connect in advance, leaving io channel
configuration all in nbd_client_connect.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: a8e2bb6a76c7c661c117327f70f06eb628554230
      
https://github.com/qemu/qemu/commit/a8e2bb6a76c7c661c117327f70f06eb628554230
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/nbd.c
    M include/block/nbd.h
    M nbd/client.c
    M qemu-nbd.c

  Log Message:
  -----------
  block/nbd: use non-blocking io channel for nbd negotiation

No reason to use blocking channel for negotiation and we'll benefit in
further reconnect feature, as qio_channel reads and writes will do
qemu_coroutine_yield while waiting for io completion.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: a34b1e5e06de777c0faaa78694c4e0775b2bef0c
      
https://github.com/qemu/qemu/commit/a34b1e5e06de777c0faaa78694c4e0775b2bef0c
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: move from quit to state

To implement reconnect we need several states for the client:
CONNECTED, QUIT and two different CONNECTING states. CONNECTING states
will be added in the following patches. This patch implements CONNECTED
and QUIT.

QUIT means, that we should close the connection and fail all current
and further requests (like old quit = true).

CONNECTED means that connection is ok, we can send requests (like old
quit = false).

For receiving loop we use a comparison of the current state with QUIT,
because reconnect will be in the same loop, so it should be looping
until the end.

Opposite, for requests we use a comparison of the current state with
CONNECTED, as we don't want to send requests in future CONNECTING
states.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: b172ae2e0ed38a1d058babe6a788f97c402e0e51
      
https://github.com/qemu/qemu/commit/b172ae2e0ed38a1d058babe6a788f97c402e0e51
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/nbd.c
    M qapi/block-core.json

  Log Message:
  -----------
  block/nbd: add cmdline and qapi parameter reconnect-delay

Reconnect will be implemented in the following commit, so for now,
in semantics below, disconnect itself is a "serious error".

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
[eblake: slipped from 4.1 to 4.2]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 8f071c9db506e03abcb1b76ec6d3d2f9488cc3b3
      
https://github.com/qemu/qemu/commit/8f071c9db506e03abcb1b76ec6d3d2f9488cc3b3
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-08-15 (Thu, 15 Aug 2019)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd: refactor nbd connection parameters

We'll need some connection parameters to be available all the time to
implement nbd reconnect. So, let's refactor them: define additional
parameters in BDRVNBDState, drop them from function parameters, drop
nbd_client_init and separate options parsing instead from nbd_open.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[eblake: Drop useless 'if' before object_unref]
Signed-off-by: Eric Blake <address@hidden>


  Commit: c6a2225a5a5e272edc0304845e32ea436ea1043a
      
https://github.com/qemu/qemu/commit/c6a2225a5a5e272edc0304845e32ea436ea1043a
  Author: Peter Maydell <address@hidden>
  Date:   2019-08-16 (Fri, 16 Aug 2019)

  Changed paths:
    M block/io.c
    M block/nbd.c
    M block/stream.c
    M include/block/block.h
    M include/block/nbd.h
    M nbd/client.c
    M nbd/server.c
    M qapi/block-core.json
    M qapi/sockets.json
    M qemu-nbd.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2019-08-15' into 
staging

nbd patches for 2019-08-15

- Addition of InetSocketAddress keep-alive
- Addition of BDRV_REQ_PREFETCH for more efficient copy-on-read
- Initial refactoring in preparation of NBD reconnect

# gpg: Signature made Thu 15 Aug 2019 19:28:41 BST
# gpg:                using RSA key A7A16B4A2527436A
# gpg: Good signature from "Eric Blake <address@hidden>" [full]
# gpg:                 aka "Eric Blake (Free Software Programmer) 
<address@hidden>" [full]
# gpg:                 aka "[jpeg image of size 6874]" [full]
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-nbd-2019-08-15:
  block/nbd: refactor nbd connection parameters
  block/nbd: add cmdline and qapi parameter reconnect-delay
  block/nbd: move from quit to state
  block/nbd: use non-blocking io channel for nbd negotiation
  block/nbd: split connection_co start out of nbd_client_connect
  nbd: improve CMD_CACHE: use BDRV_REQ_PREFETCH
  block/stream: use BDRV_REQ_PREFETCH
  block: implement BDRV_REQ_PREFETCH
  qapi: Add InetSocketAddress member keep-alive

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/95a9457fd44a...c6a2225a5a5e



reply via email to

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