From: Eric Blake <eblake@redhat.com> To: libguestfs@redhat.com Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, nbd@other.debian.org Subject: [Qemu-devel] [nbdkit PATCH 0/3] nbdkit support for new NBD fast zero Date: Fri, 23 Aug 2019 09:40:51 -0500 Message-ID: <20190823144054.27420-1-eblake@redhat.com> (raw) In-Reply-To: <25ead363-4f37-5450-b985-1876374e314d@redhat.com> See the cross-post cover letter for details: https://www.redhat.com/archives/libguestfs/2019-August/msg00322.html Notably, this series did NOT add fast zero support to the file plugin yet; there, I probably need to do more testing and/or kernel source code reading to learn whether to mark fallocate() as potentially slow, as well as to definitely mark ioctl(BLKZEROOUT) as definitely slow. That will be a followup patch. Eric Blake (3): server: Add internal support for NBDKIT_FLAG_FAST_ZERO filters: Add .can_fast_zero hook plugins: Add .can_fast_zero hook docs/nbdkit-filter.pod | 27 ++++-- docs/nbdkit-plugin.pod | 74 +++++++++++--- docs/nbdkit-protocol.pod | 11 +++ filters/delay/nbdkit-delay-filter.pod | 15 ++- filters/log/nbdkit-log-filter.pod | 2 +- filters/nozero/nbdkit-nozero-filter.pod | 41 ++++++-- plugins/sh/nbdkit-sh-plugin.pod | 13 ++- server/internal.h | 2 + common/protocol/protocol.h | 11 ++- server/filters.c | 33 ++++++- server/plugins.c | 47 ++++++++- server/protocol-handshake.c | 7 ++ server/protocol.c | 46 +++++++-- include/nbdkit-common.h | 7 +- include/nbdkit-filter.h | 3 + include/nbdkit-plugin.h | 2 + filters/blocksize/blocksize.c | 12 +++ filters/cache/cache.c | 20 ++++ filters/cow/cow.c | 20 ++++ filters/delay/delay.c | 28 +++++- filters/log/log.c | 16 ++-- filters/nozero/nozero.c | 62 +++++++++++- filters/truncate/truncate.c | 15 +++ plugins/data/data.c | 14 ++- plugins/full/full.c | 12 +-- plugins/memory/memory.c | 14 ++- plugins/nbd/nbd.c | 28 +++++- plugins/null/null.c | 8 ++ plugins/ocaml/ocaml.c | 26 ++++- plugins/sh/call.c | 1 - plugins/sh/sh.c | 39 ++++++-- plugins/ocaml/NBDKit.ml | 10 +- plugins/ocaml/NBDKit.mli | 2 + plugins/rust/src/lib.rs | 3 + tests/test-eflags.sh | 122 +++++++++++++++++++++--- tests/test-fua.sh | 4 +- 36 files changed, 686 insertions(+), 111 deletions(-) -- 2.21.0
next prev parent reply index Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-23 14:30 [Qemu-devel] cross-project patches: Add NBD Fast Zero support Eric Blake 2019-08-23 14:34 ` [Qemu-devel] [PATCH 0/1] NBD protocol change to add fast zero support Eric Blake 2019-08-23 14:34 ` [Qemu-devel] [PATCH 1/1] protocol: Add NBD_CMD_FLAG_FAST_ZERO Eric Blake 2019-08-23 18:48 ` Wouter Verhelst 2019-08-23 18:58 ` Eric Blake 2019-08-24 6:44 ` Wouter Verhelst 2019-08-28 9:57 ` Vladimir Sementsov-Ogievskiy 2019-08-28 13:04 ` Eric Blake 2019-08-28 13:45 ` Vladimir Sementsov-Ogievskiy 2019-09-03 20:53 ` [Qemu-devel] [Libguestfs] [PATCH 0/1] NBD protocol change to add fast zero support Eric Blake 2019-08-23 14:37 ` [Qemu-devel] [PATCH 0/5] Add NBD fast zero support to qemu client and server Eric Blake 2019-08-23 14:37 ` [Qemu-devel] [PATCH 1/5] nbd: Improve per-export flag handling in server Eric Blake 2019-08-30 18:00 ` Vladimir Sementsov-Ogievskiy 2019-08-30 23:10 ` Eric Blake 2019-08-30 23:32 ` Eric Blake 2019-09-03 16:39 ` Eric Blake 2019-09-04 17:08 ` Vladimir Sementsov-Ogievskiy 2019-08-23 14:37 ` [Qemu-devel] [PATCH 2/5] nbd: Prepare for NBD_CMD_FLAG_FAST_ZERO Eric Blake 2019-08-30 18:07 ` Vladimir Sementsov-Ogievskiy 2019-08-30 23:37 ` Eric Blake 2019-08-31 8:11 ` Vladimir Sementsov-Ogievskiy 2019-09-03 18:49 ` Eric Blake 2019-08-31 8:20 ` Vladimir Sementsov-Ogievskiy 2019-08-23 14:37 ` [Qemu-devel] [PATCH 3/5] nbd: Implement client use of NBD FAST_ZERO Eric Blake 2019-08-30 18:11 ` Vladimir Sementsov-Ogievskiy 2019-08-23 14:37 ` [Qemu-devel] [PATCH 4/5] nbd: Implement server " Eric Blake 2019-08-30 18:40 ` Vladimir Sementsov-Ogievskiy 2019-08-23 14:37 ` [Qemu-devel] [PATCH 5/5] nbd: Tolerate more errors to structured reply request Eric Blake 2019-08-23 16:41 ` Eric Blake 2019-08-28 13:55 ` [Qemu-devel] [PATCH 0/5] Add NBD fast zero support to qemu client and server Vladimir Sementsov-Ogievskiy 2019-08-28 14:05 ` Eric Blake 2019-08-23 14:38 ` [Qemu-devel] [libnbd PATCH 0/1] libnbd support for new fast zero Eric Blake 2019-08-23 14:38 ` [Qemu-devel] [libnbd PATCH 1/1] api: Add support for FAST_ZERO flag Eric Blake 2019-08-27 12:25 ` [Qemu-devel] [Libguestfs] " Richard W.M. Jones 2019-08-23 14:40 ` Eric Blake [this message] 2019-08-23 14:40 ` [Qemu-devel] [nbdkit PATCH 1/3] server: Add internal support for NBDKIT_FLAG_FAST_ZERO Eric Blake 2019-08-23 14:40 ` [Qemu-devel] [nbdkit PATCH 2/3] filters: Add .can_fast_zero hook Eric Blake 2019-08-23 14:40 ` [Qemu-devel] [nbdkit PATCH 3/3] plugins: " Eric Blake 2019-08-23 21:16 ` [Qemu-devel] [Libguestfs] " Eric Blake 2019-08-27 15:43 ` Richard W.M. Jones 2019-08-23 15:05 ` [Qemu-devel] cross-project patches: Add NBD Fast Zero support Vladimir Sementsov-Ogievskiy 2019-08-27 12:14 ` [Qemu-devel] [Libguestfs] " Richard W.M. Jones 2019-08-27 13:23 ` Eric Blake
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190823144054.27420-1-eblake@redhat.com \ --to=eblake@redhat.com \ --cc=libguestfs@redhat.com \ --cc=nbd@other.debian.org \ --cc=qemu-block@nongnu.org \ --cc=qemu-devel@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
QEMU-Devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git git clone --mirror https://lore.kernel.org/qemu-devel/2 qemu-devel/git/2.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \ qemu-devel@nongnu.org public-inbox-index qemu-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git