- 07 Sep, 2018 13 commits
-
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Yak shaving is fun! not.
-
Wouter Verhelst authored
-
Wouter Verhelst authored
The build tries to ensure that we build from a clean git checkout. That's nice, but it fails if git is not installed. While we could conditionalize that on not being inside gitlab-ci, just installing git is easier...
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Since, apparently, apt doesn't have a stable interface.
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Debian now has a CI infra on salsa; use that instead.
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
- 18 Aug, 2018 7 commits
-
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Tagging 3.18
-
Wouter Verhelst authored
(cherry picked from commit ccf099fa)
-
Wouter Verhelst authored
also, don't ignore it (cherry picked from commit da78fd14)
-
Wouter Verhelst authored
Don't set unset (zero) timeout in nbd-client when configuring via netlink
-
- 17 Aug, 2018 1 commit
-
-
Maciej S. Szmigiero authored
When we are operating as a daemon we ignore unset (zero) timeout in set_timeout() and don't set it in kernel. However, when operating in the netlink mode netlink_configure() will add NBD_ATTR_TIMEOUT attribute unconditionally. This means that in the default case of timeout being unset it was being set to zero in the kernel which resulted in it triggering almost immediately upon any I/O request. Fix this by not appending the timeout attribute in netlink_configure() when the timeout is unset. Signed-off-by:Maciej S. Szmigiero <mail@maciej.szmigiero.name>
-
- 16 Aug, 2018 2 commits
-
-
Eric Blake authored
The recent qemu 3.0 release added an additional supported context namespace to its NBD_OPT_SET_META_CONTEXT implementation, named "qemu:". This serves as a registration of that third-party namespace, while pointing to qemu documentation for the specification of leaf-names within that namespace (currently just a "dirty-bitmap:" sub-namespace that can select a named dirty bitmap), and what they represent. We don't have to track the full details of the qemu implementation (especially since qemu may add more sub-namespace or bit definitions over time), but merely link to qemu documentation that should remain up-to-date. Signed-off-by:
Eric Blake <eblake@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
-
Eric Blake authored
When the NBD_CMD_BLOCK_STATUS extension was first discussed, the idea of having the client's length be a hint was proposed, where the server could reply beyond the client's request in order to allow for fewer transactions when querying the entire disk. The portion beyond the client's original request can only occur in the final extent for a given context, and only if the additional length matches the type given for the last byte actually requested by the client. In the meantime, qemu 2.12 was released as a first client implementation of NBD_CMD_BLOCK_STATUS, which always sends the NBD_CMD_FLAG_REQ_ONE flag, and which disconnects from the server if the server's length exceeds the client request. This was relaxed for subsequent qemu, but it means that we have to be explicit that a server should not send extra length except when the client is not limiting its request to exactly one extent. Furthermore, qemu 3.0 was recently released where the server actually relies on this looser specification for its qemu:dirty-bitmap:NAME context when the REQ_ONE flag is not used. Signed-off-by:Eric Blake <eblake@redhat.com>
-
- 24 Jul, 2018 1 commit
-
-
Luiz Angelo Daros de Luca authored
When nbd-server drops privileges, it was leaving supplementary groups untouched. As nbd-server was normally dropping from root, nbd-server kept membership to root supplementary groups. Signed-off-by:Luiz Angelo Daros de Luca <luizluca@gmail.com>
-
- 21 May, 2018 1 commit
-
-
Vladimir Sementsov-Ogievskiy authored
The ability to request an NBD server to cache things locally, without also spending time in the client reading what was just cached, has proved useful to both the xNBD implementation (public), and to a VM restore operation performed by Virtuozzo atop qemu (not yet public). Time to document this functionality, rather than calling the command a failed experiment. The documentation is rather fuzzy, in that it makes no requirements on what constitutes a valid cache (a server can implement this command as a no-op) and no guarantees that a cache will benefit the client (although for a specific server implementation, the client will indeed benefit). But as the command has a use in existing implementations, it's better to document what we can to prevent future incompatible use of the command. In particular, we can envision the addition of command flags to request specific caching behvaiors (perhaps copying after posix_fadvise semantics), where a server must reject a flag it does not know or cannot honor (in the extreme case, a new flag to allow the client to drop a portion of the cache must not be misinterpreted by the server that populates the cache instead because it ignored an unrecognized flag). Note that this proposal adds NBD_FLAG_SEND_CACHE which xNBD did not use; meanwhile, the command NBD_CMD_CACHE is allowed to fail with no visible side effects. The documentation tries to point out interoperability constraints resulting from existing servers that understand the command but don't advertise it, as well as existing clients that send the command even when it is not advertised. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20180326161049.15981-1-vsementsov@virtuozzo.com> [eblake: add commit message, add more documentation] Signed-off-by:
Eric Blake <eblake@redhat.com>
-
- 20 May, 2018 2 commits
-
-
The parent will receive the servename from the child to verify if it has reached the max number of connections. When the servename is the empty name, it will try to allocate a 0-sized buffer, which will return a NULL pointer, and that segfaults when running strcmp. Signed-off-by:
Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by:
Wouter Verhelst <w@uter.be> -
When fork fails, we return without closing the socket pair that was just created. This might cause file descriptor leaks. Signed-off-by:
Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by:
Wouter Verhelst <w@uter.be>
-
- 17 May, 2018 2 commits
-
-
Wouter Verhelst authored
-
Wouter Verhelst authored
We used to have a value "modern" for every client which retained whether or not the client had negotiated using the newstyle protocol. However, since we don't support oldstyle anymore, this is now a dead assignment, so drop it.
-
- 30 Apr, 2018 2 commits
-
-
Eric Blake authored
Not strictly necessary, but having consistent line widths makes it easier to read the original markup rather than having to refer to the rendered webpage. No content change. Signed-off-by:Eric Blake <eblake@redhat.com>
-
Eric Blake authored
Qemu 2.12 implemented NBD_CMD_BLOCK_STATUS, so it is time to promote this extension to stable.
-
- 18 Apr, 2018 1 commit
-
-
Wouter Verhelst authored
Don't make gnutls and libnl automagic
-
- 17 Apr, 2018 1 commit
-
-
Lars Wendler authored
Introduce --without-gnutls and --without-libnl configure options so that users can disable gnutls/libnl even if the packages are available on the system. The default is unchanged from before this patch. If no --with(out)-* option has been given on the command line, the macro looks for presence and uses the packages if found.
-
- 04 Apr, 2018 7 commits
-
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Disabling tlshuge entirely means we don't test it on Linux either, where it does succeed. Rather than doing that, mark it as an expected failure on OSX. We can fix it later, then.
-
Wouter Verhelst authored
We currently fail the test suite if syslog was not enabled at compile time. While it can't work, it makes more sense to skip the test than to fail it.
-
Wouter Verhelst authored
-
Wouter Verhelst authored
Sigh. realpath is "portable", except not implemented on older versions of coreutils, including the one in Ubuntu Trusty :-( So, default to using realpath (which has the advantage of not requiring options anywhere), and fall back to readlink -f if that doesn't exist in our path. If that also fails, then the test suite will fail, but have a nice "readlink: -f: invalid option" or some such all over it, pointing to what the likely culprit is.
-
Wouter Verhelst authored
We actually do need to pass non-symlinked stuff, just can't use readlink for it. Use realpath, which is the portable alternative, instead.
-
Wouter Verhelst authored
autoconf has a facility for doing this, no need to create custom rules in Makefile.am like we were doing. This also takes care of figuring out that some systems don't support symlinks, and falling back to hardlinks or copies, where necessary.
-