qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/14] nbd: efficient write zeroes
@ 2016-06-25 22:15 Eric Blake
  2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 01/14] nbd: Fix bad flag detection on server Eric Blake
                   ` (13 more replies)
  0 siblings, 14 replies; 20+ messages in thread
From: Eric Blake @ 2016-06-25 22:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, pbonzini

The upstream NBD protocol is proposing an extension for efficient
write zeroes; having a qemu implementation will be one of the reasons
to promote the proposal from experimental to standard:
https://github.com/yoe/nbd/blob/extension-write-zeroes/doc/proto.md

Some of these patches were previously posted as part of a larger v3
series, so this is labeled v4:
https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg03526.html

Prerequisites:
v1 Auto-fragment large transactions at the block layer:
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg05819.html
v1 byte-based block discard:
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg06491.html
v1 Switch raw NBD to byte-based
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg07030.html

Also available as a tag at:
git fetch git://repo.or.cz/qemu/ericb.git nbd-zero-v4

changes since v3:
rebasing on lots of intermediate patches that have been applied,
particularly related to byte-based block driver performance; and
even more protocol compliance

001/15:[down] 'nbd: Fix bad flag detection on server'
002/15:[----] [-C] 'nbd: Add qemu-nbd -D for human-readable description'
003/15:[0002] [FC] 'nbd: Limit nbdflags to 16 bits'
004/15:[0044] [FC] 'nbd: Treat flags vs. command type as separate fields'
005/15:[----] [--] 'nbd: Share common reply-sending code in server'
006/15:[down] 'nbd: Send message along with server NBD_REP_ERR errors'
007/15:[0014] [FC] 'nbd: Share common option-sending code in client'
008/15:[down] 'nbd: Let server know when client gives up negotiation'
009/15:[0002] [FC] 'nbd: Let client skip portions of server reply'
010/15:[0016] [FC] 'nbd: Less allocation during NBD_OPT_LIST'
011/15:[----] [-C] 'nbd: Support shorter handshake'
012/15:[down] 'nbd: Improve server handling of shutdown requests'
013/15:[down] 'tmp enable tracing for qemu-nbd/qemu-io'
014/15:[0003] [FC] 'nbd: Implement NBD_CMD_WRITE_ZEROES on server'
015/15:[0057] [FC] 'nbd: Implement NBD_CMD_WRITE_ZEROES on client'

Eric Blake (14):
  nbd: Fix bad flag detection on server
  nbd: Add qemu-nbd -D for human-readable description
  nbd: Limit nbdflags to 16 bits
  nbd: Treat flags vs. command type as separate fields
  nbd: Share common reply-sending code in server
  nbd: Send message along with server NBD_REP_ERR errors
  nbd: Share common option-sending code in client
  nbd: Let server know when client gives up negotiation
  nbd: Let client skip portions of server reply
  nbd: Less allocation during NBD_OPT_LIST
  nbd: Support shorter handshake
  nbd: Improve server handling of shutdown requests
  nbd: Implement NBD_CMD_WRITE_ZEROES on server
  nbd: Implement NBD_CMD_WRITE_ZEROES on client

 block/nbd-client.h  |   4 +-
 include/block/nbd.h |  69 ++++++--
 nbd/nbd-internal.h  |  12 +-
 block/nbd-client.c  |  44 ++++-
 block/nbd.c         |   4 +
 nbd/client.c        | 500 ++++++++++++++++++++++++++++------------------------
 nbd/server.c        | 267 +++++++++++++++++++---------
 qemu-nbd.c          |  16 +-
 qemu-nbd.texi       |   5 +-
 9 files changed, 574 insertions(+), 347 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-07-18 23:31 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-25 22:15 [Qemu-devel] [PATCH v4 00/14] nbd: efficient write zeroes Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 01/14] nbd: Fix bad flag detection on server Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 02/14] nbd: Add qemu-nbd -D for human-readable description Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 03/14] nbd: Limit nbdflags to 16 bits Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 04/14] nbd: Treat flags vs. command type as separate fields Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 05/14] nbd: Share common reply-sending code in server Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 06/14] nbd: Send message along with server NBD_REP_ERR errors Eric Blake
2016-06-27 12:02   ` Paolo Bonzini
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 07/14] nbd: Share common option-sending code in client Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 08/14] nbd: Let server know when client gives up negotiation Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 09/14] nbd: Let client skip portions of server reply Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 10/14] nbd: Less allocation during NBD_OPT_LIST Eric Blake
2016-06-27 12:16   ` Paolo Bonzini
2016-07-18 23:31     ` Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 11/14] nbd: Support shorter handshake Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 12/14] nbd: Improve server handling of shutdown requests Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 13/14] nbd: Implement NBD_CMD_WRITE_ZEROES on server Eric Blake
2016-06-25 22:15 ` [Qemu-devel] [PATCH v4 14/14] nbd: Implement NBD_CMD_WRITE_ZEROES on client Eric Blake
2016-06-27 12:13   ` Paolo Bonzini
2016-06-27 13:00     ` Eric Blake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).