qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* RFC for NBD protocol extension: extended headers
@ 2021-12-03 23:13 Eric Blake
  2021-12-03 23:14 ` [PATCH] spec: Add NBD_OPT_EXTENDED_HEADERS Eric Blake
                   ` (2 more replies)
  0 siblings, 3 replies; 46+ messages in thread
From: Eric Blake @ 2021-12-03 23:13 UTC (permalink / raw)
  To: nbd, qemu-devel, qemu-block, vsementsov, libguestfs, nsoffer

In response to this mail, I will be cross-posting a series of patches
to multiple projects as a proof-of-concept implementation and request
for comments on a new NBD protocol extension, called
NBD_OPT_EXTENDED_HEADERS.  With this in place, it will be possible for
clients to request 64-bit zero, trim, cache, and block status
operations when supported by the server.

Not yet complete: an implementation of this in nbdkit.  I also plan to
tweak libnbd's 'nbdinfo --map' and 'nbdcopy' to take advantage of the
larger block status results.  Also, with 64-bit commands, we may want
to also make it easier to let servers advertise an actual maximum size
they are willing to accept for the commands in question (for example,
a server may be happy with a full 64-bit block status, but still want
to limit non-fast zero and cache to a smaller limit to avoid denial of
service).

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



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

end of thread, other threads:[~2022-10-04 21:48 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-03 23:13 RFC for NBD protocol extension: extended headers Eric Blake
2021-12-03 23:14 ` [PATCH] spec: Add NBD_OPT_EXTENDED_HEADERS Eric Blake
2021-12-06 11:40   ` Vladimir Sementsov-Ogievskiy
2021-12-06 23:00     ` Eric Blake
2021-12-07  9:08       ` Vladimir Sementsov-Ogievskiy
2021-12-10 18:05         ` Vladimir Sementsov-Ogievskiy
2021-12-07 16:14       ` Wouter Verhelst
2022-03-22 15:10         ` Eric Blake
2021-12-10 18:16   ` Vladimir Sementsov-Ogievskiy
2022-03-24 17:31   ` Wouter Verhelst
2022-03-25  0:00     ` Eric Blake
2022-10-04 21:21   ` Eric Blake
2021-12-03 23:15 ` [PATCH 00/14] qemu patches for NBD_OPT_EXTENDED_HEADERS Eric Blake
2021-12-03 23:15   ` [PATCH 01/14] nbd/server: Minor cleanups Eric Blake
2021-12-06 12:03     ` Vladimir Sementsov-Ogievskiy
2021-12-03 23:15   ` [PATCH 02/14] qemu-io: Utilize 64-bit status during map Eric Blake
2021-12-06 12:06     ` Vladimir Sementsov-Ogievskiy
2021-12-03 23:15   ` [PATCH 03/14] qemu-io: Allow larger write zeroes under no fallback Eric Blake
2021-12-06 12:26     ` Vladimir Sementsov-Ogievskiy
2021-12-03 23:15   ` [PATCH 04/14] nbd/client: Add safety check on chunk payload length Eric Blake
2021-12-06 12:33     ` Vladimir Sementsov-Ogievskiy
2021-12-03 23:15   ` [PATCH 05/14] nbd/server: Prepare for alternate-size headers Eric Blake
2021-12-03 23:15   ` [PATCH 06/14] nbd: Prepare for 64-bit requests Eric Blake
2021-12-03 23:15   ` [PATCH 07/14] nbd: Add types for extended headers Eric Blake
2021-12-03 23:15   ` [PATCH 08/14] nbd/server: Initial support " Eric Blake
2021-12-03 23:15   ` [PATCH 09/14] nbd/server: Support 64-bit block status Eric Blake
2021-12-03 23:15   ` [PATCH 10/14] nbd/client: Initial support for extended headers Eric Blake
2021-12-03 23:15   ` [PATCH 11/14] nbd/client: Accept 64-bit hole chunks Eric Blake
2021-12-03 23:15   ` [PATCH 12/14] nbd/client: Accept 64-bit block status chunks Eric Blake
2021-12-03 23:15   ` [PATCH 13/14] nbd/client: Request extended headers during negotiation Eric Blake
2021-12-03 23:15   ` [PATCH 14/14] do not apply: nbd/server: Send 64-bit hole chunk Eric Blake
2021-12-03 23:17 ` [libnbd PATCH 00/13] libnbd patches for NBD_OPT_EXTENDED_HEADERS Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 01/13] golang: Simplify nbd_block_status callback array copy Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 02/13] block_status: Refactor array storage Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 03/13] protocol: Add definitions for extended headers Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 04/13] protocol: Prepare to send 64-bit requests Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 05/13] protocol: Prepare to receive 64-bit replies Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 06/13] protocol: Accept 64-bit holes during pread Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 07/13] generator: Add struct nbd_extent in prep for 64-bit extents Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 08/13] block_status: Track 64-bit extents internally Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 09/13] block_status: Accept 64-bit extents during block status Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 10/13] api: Add [aio_]nbd_block_status_64 Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 11/13] api: Add three functions for controlling extended headers Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 12/13] generator: Actually request " Eric Blake
2021-12-03 23:17   ` [libnbd PATCH 13/13] interop: Add test of 64-bit block status Eric Blake
2021-12-10  8:16   ` [Libguestfs] [libnbd PATCH 00/13] libnbd patches for NBD_OPT_EXTENDED_HEADERS Laszlo Ersek

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).