Re: [Nbd] [Qemu-block] NBD structured reads vs. block size

2018-08-01 Thread Eric Blake
of any plugin to round up the size to a multiple of any power of 2 (or round down if you really want). https://www.redhat.com/archives/libguestfs/2018-August/msg6.html Rich. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266

[Nbd] NBD structured reads vs. block size

2018-08-01 Thread Eric Blake
ised block size, qemu as the client flags it as an invalid server - which means qemu as server is currently broken). So I'm thinking we should copy that requirement onto servers for reads as well. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualiza

Re: [Nbd] [PATCH] Further tidy-up on block status

2018-05-03 Thread Eric Blake
ting way to enumerate a whole export, too. Essentially, we could define that as a client saying "I'm interested in what the size of the extent at offset X is, and what its properties are". Thoughts? -- Eric Blake, Principal Software Engineer Red Ha

Re: [Nbd] [PATCH 1/1] nbd: increase maximum size of the PWRITE_ZERO request

2018-02-08 Thread Eric Blake
Maximum size of an export name. The NBD spec requires 256 and * suggests that servers support up to 4096, but we stick to only the * required size so that we can stack-allocate the names, and because -- 2.11.0 -- Eric Blake, Principal Software Engineer Red Hat, Inc.

Re: [Nbd] nbd structured reply

2017-10-05 Thread Eric Blake
an message_length + sizeof(documented fields)). But we wrote the spec to be conservative, in case we want to add a later defined field that earlier clients will still gracefully ignore, rather than strict (allowing inequality, instead of requiring exact lengths, lets a client skip over what it consi

Re: [Nbd] Moving this list to lists.debian.org?

2017-07-25 Thread Eric Blake
ls --help | tail' for a program that gives a bit more useful output). -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature ---

Re: [Nbd] [PATCH] Swap options and option name

2017-04-26 Thread Eric Blake
t "k" in gdb, so the client was killed and the socket aborted. I'm > not sure whether that's related, but it could be -- and I thought you'd > want to know this. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-3

Re: [Nbd] [PATCH] Swap options and option name

2017-04-17 Thread Eric Blake
On 04/16/2017 04:42 AM, Wouter Verhelst wrote: > Hi Eric, > > Side note: > > On Fri, Apr 14, 2017 at 01:03:00PM -0500, Eric Blake wrote: >> I'm so glad my patches for NBD_OPT_GO didn't make it into qemu 2.9 (due >> to be released later this month). > >

Re: [Nbd] [PATCH] Swap options and option name

2017-04-14 Thread Eric Blake
- 16 bits, number of information requests > +- 16 bits x n - list of `NBD_INFO` information requests > I don't see any drawbacks to this change, and your rationale for covering the block name first makes sense. ACK. > The client MAY list one or more items of specific i

[Nbd] [PATCH] doc: Fix some minor issues

2017-02-16 Thread Eric Blake
Fix a grammar nit and typo, and resolve a conflict between two extensions picking the same command number (BLOCK_STATUS is the older proposal, so it keeps command 7, RESIZE gets command 8). Signed-off-by: Eric Blake --- Counterpart patch for the extension-resize branch doc/proto.md | 9

Re: [Nbd] [PATCH] doc: Fix some minor issues

2017-02-16 Thread Eric Blake
On 02/16/2017 05:04 PM, Eric Blake wrote: > Fix a grammar nit, and resolve a conflict between two extensions > picking the same command number (BLOCK_STATUS is the older proposal, > so it keeps command 7, RESIZE gets command 8). > > Signed-off-by: Eric Blake > --- > &

[Nbd] [PATCH] doc: Fix some minor issues

2017-02-16 Thread Eric Blake
Fix a grammar nit, and resolve a conflict between two extensions picking the same command number (BLOCK_STATUS is the older proposal, so it keeps command 7, RESIZE gets command 8). Signed-off-by: Eric Blake --- To be applied on the master branch. The extension-resize branch will also need

Re: [Nbd] [PATCH] build: Fix build with older gcc

2017-02-16 Thread Eric Blake
On 12/19/2016 04:15 PM, Eric Blake wrote: > gcc 4.4.7 (hello RHEL 6) complains about redefinition of typedefs, > as in: > > gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DSYSCONFDIR='"/usr/local/etc"' -g -O2 > -g -O2 -MT nbd_client-buffer.o -MD -MP -MF .deps/nbd_cl

Re: [Nbd] [PATCH 4/4] nbd: add a nbd-control interface

2017-01-25 Thread Eric Blake
device in order to send that ioctl may have negative ramifications to the actual user of that existing device, if not permissions issues that prevent the open from even happening. Having a separate control fd makes it obvious that you are asking for a new nbd device, and don't want to stomp on an

Re: [Nbd] [Qemu-devel] [Qemu-block] How to online resize qemu disk with nbd protocol?

2017-01-23 Thread Eric Blake
for an updated size). Also note that the server's reply of the current size may be slightly different than what was requested by the client (that is, we should allow the server to round the client's request up to an appropriate granularity) - we should probably require that the server ca

Re: [Nbd] [Qemu-devel] [PATCH] Further tidy-up on block status

2017-01-20 Thread Eric Blake
27;d actually have to do more than 4096 queries, since length is < 4G, not <= 4G) with a single piece of information at the time the client connects. Either way, discussion on such enhancements are probably worth a new thread. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt vir

Re: [Nbd] [Qemu-devel] [Qemu-block] How to online resize qemu disk with nbd protocol?

2017-01-16 Thread Eric Blake
;ve compared a broken and pristine copy of my messages, and it's fairly annoying that the difference is sometimes as subtle as a space vs. a tab, due to the way the header line was rewritten. > > On Thu, Jan 12, 2017 at 12:45:56PM -0600, Eric Blake wrote: >> For resize smaller, th

Re: [Nbd] [Qemu-devel] [Qemu-block] How to online resize qemu disk with nbd protocol?

2017-01-12 Thread Eric Blake
ether the resize happened). Should I spend time turning this idea into a more formal spec, along the lines of other NBD extension proposals? -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization libr

Re: [Nbd] [Qemu-devel] How to online resize qemu disk with nbd protocol?

2017-01-12 Thread Eric Blake
> local qcow2 disk? I have the interface to resize EBS disk at backend. Anything is possible in open source with enough time and patches, but the place to tackle this is to first propose an extension to the NBD protocol (I've added the NBD list in cc). -- Eric Blake eblake redhat com+1

Re: [Nbd] [Qemu-devel] [PATCH] Further tidy-up on block status

2016-12-27 Thread Eric Blake
n example of how easy or hard it is to implement things. But I see NO reason to weaken the spec to allow structured BLOCK_STATUS without structured reads. -- Eric Blake eblake redhat com+1-919-301-3266 Libvir

Re: [Nbd] [PATCH] build: Fix build with older gcc

2016-12-20 Thread Eric Blake
ly equally effective for catching the problem, and without the cost of a Red Hat subscription. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature --

Re: [Nbd] [PATCH] build: Fix build with older gcc

2016-12-20 Thread Eric Blake
On 12/20/2016 02:28 AM, Wouter Verhelst wrote: > On Mon, Dec 19, 2016 at 04:23:01PM -0600, Eric Blake wrote: >> On 12/19/2016 04:15 PM, Eric Blake wrote: >>> gcc 4.4.7 (hello RHEL 6) complains about redefinition of typedefs, >>> as in: >>> >>> gcc

Re: [Nbd] [PATCH] build: Fix build with older gcc

2016-12-19 Thread Eric Blake
On 12/19/2016 04:15 PM, Eric Blake wrote: > gcc 4.4.7 (hello RHEL 6) complains about redefinition of typedefs, > as in: > > gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DSYSCONFDIR='"/usr/local/etc"' -g -O2 > -g -O2 -MT nbd_client-buffer.o -MD -MP -MF .deps/nbd_cl

[Nbd] [PATCH] build: Fix build with older gcc

2016-12-19 Thread Eric Blake
.c' || echo './'`buffer.c buffer.c:39: error: redefinition of typedef ‘buffer_t’ buffer.h:31: note: previous declaration of ‘buffer_t’ was here The .c file only has to declare the struct being typedef'd, not repeat the typedef declaration. Signed-off-by: Eric Blake --- buffer.c

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-19 Thread Eric Blake
we can't fork, and we do fork-per-child. > > I'll apply Eric's patch, it's the correct thing to do. I'm not sure if I broke the ACL handling in my patch, though, so you'll want to double-check that aspect of it (I basically hardcoded -d to mean that the

[Nbd] [PATCH 1/2] nbd-server: Improve command line documentation

2016-12-15 Thread Eric Blake
Mention -d in --help output, to match that it is listed in the man page. Update the man page examples and the --help output to make it obvious that our preferred usage nowadays will omit the port/file/size arguments, since the config file is more powerful. Signed-off-by: Eric Blake --- man/nbd

[Nbd] [PATCH 2/2] nbd-server: Make command-line -r apply to all exports

2016-12-15 Thread Eric Blake
ather than just the ones mentioned as readonly in the config, which makes it easier to test a server setup without the worry of accidental writes while also avoiding the need to tweak the config file just to turn lots of readonly markers on and then back off again. Signed-off-by: Eric Blake --- ma

[Nbd] [PATCH 0/2] Repurpose nbd-server -r

2016-12-15 Thread Eric Blake
what (well, after any tweaks it gets based on review comments); the second is more of my RFC on whether the idea even makes sense to have the command line flags override all config file export sections at once. Eric Blake (2): nbd-server: Improve command line documentation nbd-server: Make

Re: [Nbd] [PATCH] build: Allow CFLAGS override during make

2016-12-15 Thread Eric Blake
On 12/15/2016 10:53 AM, Wouter Verhelst wrote: > On Wed, Dec 14, 2016 at 04:19:53PM -0600, Eric Blake wrote: >> Automake recommends the use of $(CFLAGS), not @CFLAGS@, because >> that allows a user to override CFLAGS at make time (with >> 'make CFLAGS=-g', for exampl

[Nbd] [PATCH] nbd-server: Kill dead mainloop()

2016-12-15 Thread Eric Blake
Unused since commit 6c2d8511. Be the chainsaw mentioned in the comment :) Signed-off-by: Eric Blake --- Applies to the master branch; will cause a (trivial) merge conflict with the extensions-write-zeroes branch. nbd-server.c | 173

[Nbd] [PATCH] write-zeroes: Fix doc typo prior to mainline merge

2016-12-15 Thread Eric Blake
Signed-off-by: Eric Blake --- This is the only thing I noticed broken in extensions-write-zeroes when comparing it to mainline, so I think we're ready to merge. (Well, this, and the dead mainloop() code is a pointless merge, but I'll post that patch separately). doc/proto.md | 2

[Nbd] suspicious errno handling

2016-12-15 Thread Eric Blake
n actual error value (or negative error value) instead of -1 on failure, rather than relying on errno remaining unchanged through all the interim code. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: O

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-15 Thread Eric Blake
On 12/14/2016 11:03 PM, Alex Bligh wrote: > Eric, > >> On 14 Dec 2016, at 21:03, Eric Blake wrote: >> >> Okay, I've cloned gondbserver sources, but I've never compiled a Go >> project before. How do I get an executable server that I can then

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-14 Thread Eric Blake
On 12/14/2016 12:55 PM, Alex Bligh wrote: > >> On 14 Dec 2016, at 18:51, Eric Blake wrote: >> >> It's working well in qemu 2.8 without needing tweaks to the >> documentation. Should we try and do some cross-implementation testing >> today, before doin

[Nbd] did 'nbd-server -d' accidentally break?

2016-12-14 Thread Eric Blake
to be a tty), then the output goes somewhere rather than causing an error, and then you have to type something other than N or X to get the readit() to succeed. Looks like commit 7e901617 is the culprit, and maybe the solution is to just skip the commsocket stuff when -d is active (should -d also

[Nbd] [PATCH] build: Allow CFLAGS override during make

2016-12-14 Thread Eric Blake
ust CFLAGS. Signed-off-by: Eric Blake --- Applies to the master branch (although I discovered it while debugging the extensions-write-zeroes branch). Makefile.am| 22 +++--- tests/code/Makefile.am | 12 ++-- tests/run/Makefile.am | 8 3 files c

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-14 Thread Eric Blake
On 12/14/2016 12:55 PM, Alex Bligh wrote: > >> On 14 Dec 2016, at 18:51, Eric Blake wrote: >> >> It's working well in qemu 2.8 without needing tweaks to the >> documentation. Should we try and do some cross-implementation testing >> today, before doin

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-14 Thread Eric Blake
on tracing in either the client or the server in order to trace what the other side sends over the wire. An arbitrary client is a bit harder to test if you don't know how to provoke it into sending write zero commands, but qemu-io serves as a nice testbed that lets the qemu client send arbitrar

Re: [Nbd] Proposal to merge WRITE_ZEROES extension into master

2016-12-14 Thread Eric Blake
er. Admittedly > I didn't have a 'real' client to test it against. It's working well in qemu 2.8 without needing tweaks to the documentation. Should we try and do some cross-implementation testing today, before doing the actual merge? -- Eric Blake eblake redhat com

Re: [Nbd] [Qemu-devel] [PATCH] Further tidy-up on block status

2016-12-14 Thread Eric Blake
other than colons, > +and be non-empty. The entire name (namespace, colon and leaf-name) > +MUST NOT exceed 255 bytes (and therefore botht he namespace and s/botht he/both the/ -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvi

Re: [Nbd] [Qemu-devel] [Qemu-block] [PATCH] doc: Propose NBD_FLAG_INIT_ZEROES extension

2016-12-14 Thread Eric Blake
On 12/14/2016 02:22 AM, Wouter Verhelst wrote: > Hi Eric, > > On Tue, Dec 13, 2016 at 04:36:08PM -0600, Eric Blake wrote: >> On 12/13/2016 06:18 AM, Wouter Verhelst wrote: >>> On Tue, Dec 13, 2016 at 08:38:12AM +0100, Kevin Wolf wrote: >>>> Am 12.12.2016 um 1

Re: [Nbd] [Qemu-devel] [Qemu-block] [PATCH] doc: Propose NBD_FLAG_INIT_ZEROES extension

2016-12-13 Thread Eric Blake
in the (16-bit) "transmission flags" field, where space is > at a premium. No, it is NOT a "transmission flag", as it is a per-export property (where we currently have 64 bits). -- Eric Blake e

Re: [Nbd] [PATCH v4] doc: Add NBD_CMD_BLOCK_STATUS extension

2016-12-12 Thread Eric Blake
e inter-branch diff is indeed the best way to review the current state of the changes in relation to the master branch, rather than trying to follow one patch at a time. I'm grateful that you've stepped in to try and nail down some of the wordings, and doing a qemu proof-of-concept implementation

Re: [Nbd] [PATCH v4] doc: Add NBD_CMD_BLOCK_STATUS extension

2016-12-12 Thread Eric Blake
read as > +all zeroes; if clear, the block contents are not known. Note > +that the use of `NBD_CMD_WRITE_ZEROES` is related to this > +status, but that the server MAY report zeroes even where write > +zeroes has not been requ

Re: [Nbd] [Qemu-devel] [PATCH v3] doc: Add NBD_CMD_BLOCK_STATUS extension

2016-12-08 Thread Eric Blake
;> clarifies what a client should do with that information if it gets it >> (i.e., "don't read it, it doesn't contain anything interesting"). > > That's fair enough until the last bit in brackets. Rather than saying > a client SHOULD NOT read it, it should s

Re: [Nbd] [Qemu-block] [PATCH] doc: Propose NBD_FLAG_INIT_ZEROES extension

2016-12-07 Thread Eric Blake
ly tell the server to advertise the bit because the >> user has side knowledge that the file was just created (and then the >> burden of misbehavior is on the user if they mistakenly request the >> advertisement when it is not true). > > Maybe that's the only practical app

Re: [Nbd] [Qemu-block] [PATCH] doc: Propose NBD_FLAG_INIT_ZEROES extension

2016-12-06 Thread Eric Blake
On 12/06/2016 03:25 AM, Kevin Wolf wrote: > Am 06.12.2016 um 00:42 hat Eric Blake geschrieben: >> While not directly related to NBD_CMD_WRITE_ZEROES, the qemu >> team discovered that it is useful if a server can advertise >> whether an export is in a known-all-zeroes sta

[Nbd] [PATCH] doc: Propose NBD_FLAG_INIT_ZEROES extension

2016-12-05 Thread Eric Blake
While not directly related to NBD_CMD_WRITE_ZEROES, the qemu team discovered that it is useful if a server can advertise whether an export is in a known-all-zeroes state at the time the client connects. Signed-off-by: Eric Blake --- doc/proto.md | 5 + 1 file changed, 5 insertions(+) This

Re: [Nbd] [PATCH] nbd: use dev_err_ratelimited in io path

2016-12-05 Thread Eric Blake
Signed-off-by: Josef Bacik > --- > drivers/block/nbd.c | 23 --- > 1 file changed, 12 insertions(+), 11 deletions(-) > -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Descri

[Nbd] [PATCH] build: Ignore copied file during in-tree build

2016-10-20 Thread Eric Blake
Commit b885246 creates a symlink to work around an automake weakness, but forgot to ignore the link when doing an in-tree build. Signed-off-by: Eric Blake --- Hmm. I guess I was so busy testing VPATH builds that I forgot to do one final test of an in-tree build :) .gitignore | 1 + 1 file

Re: [Nbd] [PATCH v2 5/6] nbd: Test recent bug fixes

2016-10-20 Thread Eric Blake
h) to it? That enum was meant as that "framework" ;-) > my v3 changed the TEST_ enum instead, but I'll see if I can redo it to trigger off of a CONNECTION_TYPE_ value. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization libr

[Nbd] [PATCH] maint: Let emacs know our preferred style

2016-10-20 Thread Eric Blake
-off-by: Eric Blake --- .dir-locals.el | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .dir-locals.el diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 000..046e004 --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,2 @@ +((c-mode . ((c-file-style . "

Re: [Nbd] ideal emacs settings?

2016-10-20 Thread Eric Blake
On 10/20/2016 03:55 AM, Alex Bligh wrote: > >> On 19 Oct 2016, at 23:07, Eric Blake wrote: >> >> I noticed that nbd source code prefers the use of hard tab instead of >> spaces for indentation, and emacs does not play nicely with that by >> default.

Re: [Nbd] ideal emacs settings?

2016-10-20 Thread Eric Blake
On 10/20/2016 02:38 AM, Wouter Verhelst wrote: > On Wed, Oct 19, 2016 at 05:07:11PM -0500, Eric Blake wrote: >> I noticed that nbd source code prefers the use of hard tab instead of >> spaces for indentation, and emacs does not play nicely with that by >> default. Does anyone

[Nbd] [PATCH v3 5/6] tests: Cover recent bug fixes

2016-10-19 Thread Eric Blake
er sending the wrong length in an error reply, and for a server not reading enough data when replying to an unknown command. Signed-off-by: Eric Blake --- As requested by Wouter, split this off into an independent test, rather than impacting the startup of all other tests. tests/run/M

[Nbd] ideal emacs settings?

2016-10-19 Thread Eric Blake
dd it within a .dir-locals.el file to make it apply to fresh git checkouts? -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital sign

Re: [Nbd] [PATCH v2 5/6] nbd: Test recent bug fixes

2016-10-19 Thread Eric Blake
On 10/18/2016 06:07 AM, Wouter Verhelst wrote: > On Mon, Oct 17, 2016 at 03:23:39PM -0500, Eric Blake wrote: >> Add a test of intentionally provoking a server error during option >> negotiation to prove that a client can still fall back to known >> options; thus covering two r

[Nbd] [PATCH v3 1/2] build: Distribute netdb-compat.h without relying on tests

2016-10-19 Thread Eric Blake
nbd-server depends on netdb-compat.h; however, we were only including it in the tarball as a side effect of it also being used by the testsuite. Make the dependency explicit. Signed-off-by: Eric Blake --- Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a

[Nbd] [PATCH v3 2/2] build: Silence autogen.sh warnings

2016-10-19 Thread Eric Blake
new use of subdir-objects. This patch has been tested with 'make distcheck' across multiple automake and libtool versions, ranging from CentOS 6 vintage to current git toolchains. Signed-off-by: Eric Blake --- .gitignore| 2 ++ Makefile.am | 1 + configure.ac

[Nbd] [PATCH v3 0/2] silence build warnings

2016-10-19 Thread Eric Blake
These two patches replace 1/6 in my previous posting, while 2-6 of that series remain identical (and can even be applied independently prior to this respin, other than the review comment on 5/6 that still needs addressing). Eric Blake (2): build: Distribute netdb-compat.h without relying on

Re: [Nbd] [PATCH v2 1/6] build: Silence autogen.sh warnings

2016-10-18 Thread Eric Blake
o allow building on CentOS 6, would be silly if we lose that again...) I'll make sure it works before sending v3 of this patch. However, the other patches in this series should still be usable as-is without this one going in. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt v

Re: [Nbd] [PATCH v2 1/6] build: Silence autogen.sh warnings

2016-10-18 Thread Eric Blake
On 10/18/2016 09:12 AM, Eric Blake wrote: > On 10/18/2016 06:01 AM, Wouter Verhelst wrote: > >>> Following the advice almost works, except that automake 1.15 still >>> has a nasty bug (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928) >>> where use of $(foo) in

Re: [Nbd] [PATCH v2 1/6] build: Silence autogen.sh warnings

2016-10-18 Thread Eric Blake
ry-picked two commits from Josef > to allow building on CentOS 6, would be silly if we lose that again...) And that will be part of my testing. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization

[Nbd] [PATCH v2 5/6] nbd: Test recent bug fixes

2016-10-17 Thread Eric Blake
unknown command. Signed-off-by: Eric Blake --- tests/run/nbd-tester-client.c | 47 +++ 1 file changed, 47 insertions(+) diff --git a/tests/run/nbd-tester-client.c b/tests/run/nbd-tester-client.c index 28db8ee..099bec1 100644 --- a/tests/run/nbd-tester-client.c

[Nbd] [PATCH v2 1/6] build: Silence autogen.sh warnings

2016-10-17 Thread Eric Blake
nstead open-code the traversal to the desired files. I also noticed that the build was already leaving behind an untracked manpage.log file, in addition to the new .dirstamp witness file created by our new use of subdir-objects. Signed-off-by: Eric Blake --- .gitignore| 2 ++ Makefile.

[Nbd] [PATCH v2 2/6] server: Fix botched strlen computation of error message

2016-10-17 Thread Eric Blake
Commit 3b80382 tried to make it easy for the server to send an error message whose length was determined by strlen(), but ended up sending a length of UINT32_MAX, causing clients to either hang up (reply too large) or wait for nearly 4G of data that was never coming. Signed-off-by: Eric Blake

[Nbd] [PATCH v2 3/6] server: Swap argument order in consume()

2016-10-17 Thread Eric Blake
The signature of consume() threw me off. Good design says that if you are going to have paired parameters (buf and bufsize), you generally want them adjacent, not separated by an unrelated parameter (len). Move len to be first, adjusting all callers. Signed-off-by: Eric Blake --- nbd-server.c

[Nbd] [PATCH v2 6/6] server: Read client's TLS length data before next option

2016-10-17 Thread Eric Blake
ients. Furthermore, even if the server requires TLS, and rejects all but NBD_OPT_STARTTLS as the first valid option, it should still honor NBD_OPT_ABORT. Signed-off-by: Eric Blake --- nbd-server.c | 8 1 file changed, 8 insertions(+) diff --git a/nbd-server.c b/nbd-server.c index 4b0692d..d5b2013 1

[Nbd] [PATCH v2 4/6] server: Read client's unknown option length before next option

2016-10-17 Thread Eric Blake
ff-by: Eric Blake --- nbd-server.c | 16 1 file changed, 16 insertions(+) diff --git a/nbd-server.c b/nbd-server.c index c93a9d8..4b0692d 100644 --- a/nbd-server.c +++ b/nbd-server.c @@ -373,6 +373,21 @@ static inline void consume(CLIENT* c, size_t len, void * buf, size_t b

[Nbd] [PATCH v2 0/6] build and server bug fixes

2016-10-17 Thread Eric Blake
v2 of a couple of patches I've posted in the last week, now rolled into one series, fixing a bug triggered by automake 1.15, and adding testsuite coverage (which in turn exposed another recent buggy commit). Eric Blake (6): build: Silence autogen.sh warnings server: Fix botched s

Re: [Nbd] [PATCH] build: Silence autogen.sh warnings

2016-10-17 Thread Eric Blake
On 10/14/2016 03:19 PM, Eric Blake wrote: > Starting from a fresh git checkout, running ./autogen.sh gives a > couple of warnings on my Fedora 24 build tools, one from libtool: > > libtoolize: Consider adding '-I support' to ACLOCAL_AMFLAGS in Makefile.am. > > and o

Re: [Nbd] build failure

2016-10-17 Thread Eric Blake
On 10/15/2016 01:46 PM, Wouter Verhelst wrote: > On Fri, Oct 14, 2016 at 03:11:55PM -0500, Eric Blake wrote: >> On 10/14/2016 01:32 PM, Wouter Verhelst wrote: >>> On Thu, Oct 13, 2016 at 05:33:18PM -0500, Eric Blake wrote: >>>> I'm getting this failure w

Re: [Nbd] TLS implementation in reference nbd-server

2016-10-14 Thread Eric Blake
=/path/to/qemutls --tls-creds tls0 --exportname default where /path/to/qemutls contains the necessary certificate files. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature --

Re: [Nbd] [PATCH] server: Read client's length data before next option

2016-10-14 Thread Eric Blake
On 10/14/2016 04:02 PM, Eric Blake wrote: > /** > * Consume data from a socket that we don't want > * > - * @param f a file descriptor > + * @param c the client data stream > * @param buf a buffer > * @param len the number of bytes to consume > * @param

Re: [Nbd] [PATCH] server: Read client's length data before next option

2016-10-14 Thread Eric Blake
On 10/14/2016 04:02 PM, Eric Blake wrote: > Any client attempting to probe support for a new option, such as > NBD_OPT_STARTTLS or NBD_OPT_GO, with plans to do a graceful > fallback to older methods, will fail in its attempt if the server > does not ignore the length field and potentia

[Nbd] [PATCH] server: Read client's length data before next option

2016-10-14 Thread Eric Blake
y for so long is that it has taken us this long to finally want to implement clients that use a new option. Signed-off-by: Eric Blake --- Perhaps you want to split this into two patches, one adding consume_len() and fixing the default case that responds with NBD_REP_ERR_UNSUP (with inte

[Nbd] [PATCH] build: Silence autogen.sh warnings

2016-10-14 Thread Eric Blake
omake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. Following the advice doesn't break anything, so let's do it. I also noticed that the build leaves behind an

Re: [Nbd] TLS implementation in reference nbd-server

2016-10-14 Thread Eric Blake
On 10/14/2016 02:23 PM, Eric Blake wrote: >> static void socket_read(CLIENT* client, void *buf, size_t len) { >> +void *tmp = NULL; >> +if (!buf) { >> +/* FIXME: Enforce maximum bound on client-provided len? */ >> +

Re: [Nbd] build failure

2016-10-14 Thread Eric Blake
On 10/14/2016 01:32 PM, Wouter Verhelst wrote: > On Thu, Oct 13, 2016 at 05:33:18PM -0500, Eric Blake wrote: >> I'm getting this failure when trying to build NBD, as part of >> 'autoreconf -vfi': >> >> configure.ac:248: error: required file 'system

Re: [Nbd] TLS implementation in reference nbd-server

2016-10-14 Thread Eric Blake
ging away at the autoreconf failure on my end. This was just the quick PoC to get the conversation going, pointing out that you made a common mistake (since I've already fixed the same bug in both qemu and nbdkit); and that it is the same mistake that NBD_FLAG_FIXED_NEWSTYLE is supposed to adver

Re: [Nbd] [PATCHv3] Docs: improve description of disconnection methods

2016-10-14 Thread Eric Blake
ch as me posting this email just as a heads-up in case anyone else hits the problem (I just hit it in qemu while trying to add ESHUTDOWN support). -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualizat

Re: [Nbd] TLS implementation in reference nbd-server

2016-10-13 Thread Eric Blake
} send_reply(client, opt, NBD_REP_ERR_UNSUP, -1, "The given option is unknown to this server implementation"); break; } -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org sig

[Nbd] build failure

2016-10-13 Thread Eric Blake
vised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. autoreconf: automake failed with exit status: 1 I ran out of time to try and patch it today, if you want to beat me to it. -- Eric Blake eblake redhat com+1-919-301-3

Re: [Nbd] [PATCH] proto: add 'shift' extension.

2016-09-26 Thread Eric Blake
ething that the client can change at-will during a live session, may be useful. Or it may be the source of arithmetic overflow exploits in poor implementations, or of denial-of-service with used with a READ or WRITE to send more than 2G of data in a single command. In other words, I don't y

Re: [Nbd] [PATCH] proto: add 'shift' extension.

2016-09-26 Thread Eric Blake
sly requested via NBD_CMD_FLAG_SHIFT, rather than having ALL information it needs immediately available in the current NBD_CMD_WRITE_ZEROES). I'd much rather support a single flag that says to zero the entire disk than to introduce stateful variable-amount shifting. -- Eric Blake

Re: [Nbd] write_zeroes/trim on the whole disk

2016-09-23 Thread Eric Blake
ron out the details of the documentation before making it a formal part of the spec. It's important to remember that such a proposal should still be optional (a server need not implement the new mode, and a client should be prepared to fall back to other means if the server does not suppo

Re: [Nbd] [RESEND][PATCH 0/5] nbd improvements

2016-09-15 Thread Eric Blake
ation >> stage (it would only be one flag, e.g. 'multiple connections >> unsafe'). > > I suppose that's not a bad idea. Seems like it may need to be a per-export flag, rather than a global flag (as a given server may be able to serve multiple types of files, where t

Re: [Nbd] [RESEND][PATCH 0/5] nbd improvements

2016-09-15 Thread Eric Blake
On 09/15/2016 06:09 AM, Alex Bligh wrote: > > I also wonder whether any servers that can do caching per > connection will always share a consistent cache between > connections. The one I'm worried about in particular here > is qemu-nbd - Eric Blake CC'd. > I doubt t

Re: [Nbd] [Qemu-devel] [PATCH v5 13/14] nbd: Implement NBD_CMD_WRITE_ZEROES on server

2016-07-19 Thread Eric Blake
On 07/19/2016 09:34 PM, Fam Zheng wrote: > On Tue, 07/19 17:45, Paolo Bonzini wrote: >> >> >> On 19/07/2016 17:28, Eric Blake wrote: >>>> If I'm reading the NBD proto.md correctly, this is not enough if >>>> NBD_CMD_FLAG_NO_HOLE is specified.

Re: [Nbd] [Qemu-devel] [PATCH v5 13/14] nbd: Implement NBD_CMD_WRITE_ZEROES on server

2016-07-19 Thread Eric Blake
[adding nbd list] On 07/19/2016 12:21 AM, Fam Zheng wrote: > On Mon, 07/18 22:08, Eric Blake wrote: >> Upstream NBD protocol recently added the ability to efficiently >> write zeroes without having to send the zeroes over the wire, >> along with a flag to control whether th

Re: [Nbd] [PATCH v4 14/14] nbd: Implement NBD_CMD_WRITE_ZEROES on client

2016-06-27 Thread Eric Blake
On 06/27/2016 06:13 AM, Paolo Bonzini wrote: > > > On 26/06/2016 00:15, Eric Blake wrote: >> diff --git a/block/nbd.c b/block/nbd.c >> index 8d57220..049d1bd 100644 >> --- a/block/nbd.c >> +++ b/block/nbd.c >> @@ -357,6 +357,7 @@ static int nbd_co_flus

Re: [Nbd] [PATCH 3/3]nbd: make nbd device wait for its users

2016-06-24 Thread Eric Blake
; Signed-off-by: Pranay Kr. Srivastava > --- > drivers/block/nbd.c | 124 > ++++---- > 1 file changed, 96 insertions(+), 28 deletions(-) > -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtuali

Re: [Nbd] [PATCH 1/2] nbd: make nbd device wait for its users

2016-06-24 Thread Eric Blake
until the last user > closes the block device. This offers the possibility as well to open a > new socket to be used while the filesystems are mounted. > > Signed-off-by: Pranay Kr. Srivastava > > [mpa: Keep the blockdevice open until all users left] > Signed-off-by: Markus Parg

Re: [Nbd] [PATCH v4 04/11] nbd: Improve server handling of bogus commands

2016-06-13 Thread Eric Blake
[adding nbd list] On 06/13/2016 06:10 AM, Paolo Bonzini wrote: > > > On 12/05/2016 00:39, Eric Blake wrote: >> - If we report an error to NBD_CMD_READ, we are not writing out >> any data payload; but the protocol says that a client can expect >> to read the paylo

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
itrary name, but even then, there is no guarantee that the qemu client is using the "" default name, and since NBD_OPT_EXPORT_NAME doesn't care, I think it's nicer to state that NBD_OPT_LIST should O

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
On 05/17/2016 10:39 AM, Richard W.M. Jones wrote: > On Tue, May 17, 2016 at 09:59:02AM -0600, Eric Blake wrote: >> On 05/17/2016 09:52 AM, Eric Blake wrote: >>>>> Perhaps nbdkit should implement NBD_OPT_LIST returning just "" (the >>>>> default na

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
On 05/17/2016 10:41 AM, Richard W.M. Jones wrote: > On Tue, May 17, 2016 at 10:05:50AM -0600, Eric Blake wrote: >> On 05/17/2016 09:58 AM, Richard W.M. Jones wrote: >>> On Tue, May 17, 2016 at 09:52:30AM -0600, Eric Blake wrote: >>>> so it might be nicer to >

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
n NBD_REP_SERVER with name ""; >> or an explicit statement that if a server rejects NBD_OPT_LIST, then the >> client SHOULD assume that any name will work for >> NBD_OPT_EXPORT_NAME/NBD_OPT_GO. > > I think it's sim

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
On 05/17/2016 09:58 AM, Richard W.M. Jones wrote: > On Tue, May 17, 2016 at 09:52:30AM -0600, Eric Blake wrote: >> so it might be nicer to >> make a change to the protocol document that instead permits current >> nbdkit behavior and puts the burden on clients to interoperate

Re: [Nbd] [Qemu-devel] [PULL 23/28] nbd: always query export list in fixed new style protocol

2016-05-17 Thread Eric Blake
On 05/17/2016 09:52 AM, Eric Blake wrote: >>> Perhaps nbdkit should implement NBD_OPT_LIST returning just "" (the >>> default name) as its only list entry? >> >> Or "default". > > As I read the protocol, I don't see "default"

  1   2   3   4   >