11 years agoModernize DEBUG macros, and make code -Wall -Werror clean
Wouter Verhelst [Fri, 27 May 2011 15:23:45 +0000 (17:23 +0200)]
Modernize DEBUG macros, and make code -Wall -Werror clean

This involved several things:
- Remove unused variables
- Mark variables that may or may not be used when specific macros are
  defined, but which we still want to define for the other cases without
  having to #ifdef too much, as such by way of G_GNUC_UNUSED.
- use varargs macros instead of the DEBUG[2-5] ones (which we can now do
  since we require a C99 compiler).
- cast integers to what we request in the format string, and
  standardize on assuming that size_t is an unsigned int everywhere.
  This may not always be correct (depending on whether we do LFS
  support), but debugging statements that are not 100% correct (as long
  as they contain a value that maps one-on-one to the right bit pattern)
  isn't a huge problem.
- Move the "include cliserv.h" to below the "include glib.h", so we
  don't define macros twice.

11 years agoAdd nbd-trdump - utilty to dump traces
Alex Bligh [Sun, 22 May 2011 18:21:05 +0000 (19:21 +0100)]
Add nbd-trdump - utilty to dump traces

11 years agoAdd nbd-trdump - utilty to dump traces
Alex Bligh [Sun, 22 May 2011 18:20:49 +0000 (19:20 +0100)]
Add nbd-trdump - utilty to dump traces

11 years agoFix nbd-tester-client.tr properly
Alex Bligh [Sun, 22 May 2011 17:49:52 +0000 (18:49 +0100)]
Fix nbd-tester-client.tr properly

11 years agoDo not use sync_file_range
Alex Bligh [Sun, 22 May 2011 12:08:19 +0000 (13:08 +0100)]
Do not use sync_file_range

11 years agoMerge branch 'master' of git://nbd.git.sourceforge.net/gitroot/nbd/nbd
Alex Bligh [Sun, 22 May 2011 10:29:31 +0000 (11:29 +0100)]
Merge branch 'master' of git://nbd.git.sourceforge.net/gitroot/nbd/nbd

11 years agoUse nbd-tester-client.tr data with conformant MBD_CMD_FLUSH offset/length fields
Alex Bligh [Sun, 22 May 2011 10:07:12 +0000 (11:07 +0100)]
Use nbd-tester-client.tr data with conformant MBD_CMD_FLUSH offset/length fields

11 years agoChnage documentation for NBD_CMD_FLUSH again.
Alex Bligh [Sun, 22 May 2011 09:58:47 +0000 (10:58 +0100)]
Chnage documentation for NBD_CMD_FLUSH again.

Use offset, length=0 for normal flushes. Reserve other options
for later (idea from Goswin von Brederlow <goswin-v-b@web.de>)

11 years agoAdd transaction log support and integrity test
Alex Bligh [Sat, 21 May 2011 07:47:21 +0000 (08:47 +0100)]
Add transaction log support and integrity test

11 years agofix documentation of NBD_CMD_FLUSH
Alex Bligh [Wed, 18 May 2011 18:34:35 +0000 (19:34 +0100)]
fix documentation of NBD_CMD_FLUSH

11 years agocopy handle on all requests
Alex Bligh [Wed, 18 May 2011 18:02:48 +0000 (19:02 +0100)]
copy handle on all requests

11 years agonbd-server: don't check length and offset on flush
Alex Bligh [Wed, 18 May 2011 16:34:09 +0000 (17:34 +0100)]
nbd-server: don't check length and offset on flush

11 years agoImplement support for flush, fua and rotational.
Alex Bligh [Tue, 17 May 2011 18:35:41 +0000 (19:35 +0100)]
Implement support for flush, fua and rotational.

This commit implements support for the flush, fua, and rotational directives
within the configuration file.

FUA means "force the current write to hit the media service" and FLUSH
means "empty the current write queue to disk". Broadly they have the same
semantics as the linux kernel REQ_FLUSH and REQ_FUA. FUA is implemented
through sync_file_range() (or if that doesn't exist, fdatasync() on the
file handle concerned), FLUSH through fsync() on all files. FUA and
FLUSH are selected in the config file, and set new flags bits which will
cause the client to sent FUA and FLUSH requests. The way these are
implemented is further explained in doc/proto.txt.

The purpose of this is reasonably obvious: without supporting either FUA
or FLUSH (and it's relatively easy to support both), filesystems on the
client have no way to ensure the relevant sectors have hit the disk.
The patch is implement such that the default behaviour is unchanged.

Additionally, it introduces an F_ROTATIONAL flag. This will turn off
the use of QUEUE_FLAG_NONROT in the client. QUEUE_FLAG_NONROT effectively
disables the elevator algorithm, making the algorithm merge only. That is
unhelpful where the server does not have its own elevator algorithm
or where the client elevator algorithm is neutered (e.g. writing to a
raw partition with F_SYNC with nbd-server). It's not going to be used
often where the backing store is a file.

It also incidentally fixes a bug where F_SYNC is ignored if F_COPYONWRITE
is set (not that this currently has much utility).

Note the following:

* The top 16 bits of the command type have been reserved
  (see NBD_CMD_MASK_COMMAND) for passing flags to be attached to commands.
  NBD_CMD_FLAG_FUA is the first of these.

* simple_test has been modified so it does not stomp over nbd.conf and
  pid files in the current directory.

* A new ioctl has been added which passes the export flags to the kernel.
  There is currently no support for this in the kernel (I will submit
  a patch in due course)

* "make check" now performs a flush and fua test. These have been verified
  by strace to "do the right thing".

* nbd-client incorrectly shifted the flags value left by 16 after reading it.
  This caused the test of the readonly bit to always fail. I suspect this
  may have been an attempt to combine server flags and export flags into
  a single 32 bit word. However, the low 16 bits were never set, and only
  the low 16 bits are tested. As the only thing it was testing for was the
  read only flag, and that is supplied in the flags, and as this allows
  transparent passing to the ioctl, I suggest it is changed as per this commit.
  If there's something else to add, it can be put in the upper 16 bits.

I have tested this lightly with nbd-client (obviously the kernel does not
yet send FLUSH or FUA) and with the test suite. It's probably ready to
go in marked "experimental".

11 years agoMerge branch 'alex'
Wouter Verhelst [Tue, 17 May 2011 18:28:58 +0000 (20:28 +0200)]
Merge branch 'alex'

11 years agoMerge commit '085441290'
Wouter Verhelst [Tue, 17 May 2011 18:19:55 +0000 (20:19 +0200)]
Merge commit '085441290'

11 years agowrite flags value to return to the rest of program in preparation for flush
Alex Bligh [Tue, 17 May 2011 12:19:47 +0000 (13:19 +0100)]
write flags value to return to the rest of program in preparation for flush

11 years agoAdd 'do not fork' option
Alex Bligh [Tue, 17 May 2011 12:04:59 +0000 (13:04 +0100)]
Add 'do not fork' option

11 years agoAdd flush test
Alex Bligh [Tue, 17 May 2011 11:31:37 +0000 (12:31 +0100)]
Add flush test

11 years agomove NBD_FLAGS from cliserv.h to nbd.h as they will be used in the kernel when we...
Alex Bligh [Tue, 17 May 2011 11:02:37 +0000 (12:02 +0100)]
move NBD_FLAGS from cliserv.h to nbd.h as they will be used in the kernel when we have the ioctl. Add NBD_CMD_FLUSH.

11 years agoUse flags for tests; introduce TEST_FLUSH
Alex Bligh [Tue, 17 May 2011 11:00:01 +0000 (12:00 +0100)]
Use flags for tests; introduce TEST_FLUSH

11 years agoMerge branch 'master' of git://nbd.git.sourceforge.net/gitroot/nbd/nbd
Alex Bligh [Tue, 17 May 2011 10:14:35 +0000 (11:14 +0100)]
Merge branch 'master' of git://nbd.git.sourceforge.net/gitroot/nbd/nbd

11 years agoImprove timing of tests; avoid wrapping tv_usec and tv_sec problems; better rounding...
Alex Bligh [Tue, 17 May 2011 08:28:36 +0000 (09:28 +0100)]
Improve timing of tests; avoid wrapping tv_usec and tv_sec problems; better rounding; display speed with decimal places

11 years agoHandle failed negotiation on modern socket
Wouter Verhelst [Tue, 17 May 2011 07:26:55 +0000 (09:26 +0200)]
Handle failed negotiation on modern socket

When negotiating fails for some reason, nbd-server currently segfaults
due to a NULL-pointer dereference. This should not happen.

CVE request outstanding

11 years agoAdd write test to test suite
Alex Bligh [Tue, 17 May 2011 07:00:56 +0000 (08:00 +0100)]
Add write test to test suite

11 years agoRemove compilation warnings and increase error checking in test suite
Alex Bligh [Tue, 17 May 2011 06:45:19 +0000 (07:45 +0100)]
Remove compilation warnings and increase error checking in test suite

11 years agoFix lp[] initialization
Wouter Verhelst [Mon, 16 May 2011 19:06:46 +0000 (21:06 +0200)]
Fix lp[] initialization

Originally, the s variable was a pointer which was allocated with
calloc() every time we went through the loop. Now, it's a stack variable
which gets memset() back to zero instead, and is copied to the array.

This change was done for an unrelated reason (which is why we didn't
change this assignment back then), but with the current code it's more
efficient and less error-prone if we assign values to the pointers when
we declare the lp[] array, rather than when we go through the loop. So
do that, then.

11 years agofix autogen.sh
Alex Bligh [Mon, 16 May 2011 11:01:12 +0000 (12:01 +0100)]
fix autogen.sh

Building from source fails on a clean git pull, due to autogen.sh failing.

$ ./autogen.sh
+ make -C man -f Makefile.am infiles
make: Entering directory `/home/amb/nbd/nbd/man'
make: *** No rule to make target `infiles'. Stop.
make: Leaving directory `/home/amb/nbd/nbd/man'

A manual autoreconf does this.

$ autoreconf -f -i -s
configure.ac:123: required file `man/nbd-client.8.sh.in' not found
configure.ac:123: required file `man/nbd-server.5.sh.in' not found
configure.ac:123: required file `man/nbd-server.1.sh.in' not found
autoreconf: automake failed with exit status: 1

I think the attached is the right patch (well, I have ./configure
now). There may be a prettier way of doing it (e.g. putting an
"infiles" target into man/Makefile.am) but this is least intrusive.

Alex Bligh

Signed-off-by: Alex Bligh <alex@alex.org.uk>

11 years agoEnsure all options have option length
Alex Bligh [Mon, 16 May 2011 09:35:07 +0000 (10:35 +0100)]
Ensure all options have option length

This is a documentation only patch to the new handshake protocol, but
changes the protocol in completely back compatible manner.

Under the current handshake protocol, it is impliedly necessary for the
server to understand every option presented by the client, as there is
no way for the server to skip options it does not understand (as the
length field is not always part of the option).

My proposal is to include the length field as a 32 bit unsigned length
in the same way that it currently forms the first 4 octets of the
NBD_OPT_EXPORT_NAME. So the length field has technically moved out
of the option data and into the option header (obviously there is
no code change required). This will allow servers to skip options
presented by clients that the server does not understand.

Alex Bligh

Signed-off-by: Alex Bligh <alex@alex.org.uk>

11 years agoRelease 2.9.21a
Wouter Verhelst [Wed, 11 May 2011 13:43:14 +0000 (15:43 +0200)]
Release 2.9.21a

11 years agoAdd sh.tmpl to EXTRA_DIST so it won't break
Wouter Verhelst [Wed, 11 May 2011 09:51:10 +0000 (11:51 +0200)]
Add sh.tmpl to EXTRA_DIST so it won't break

11 years agoRelease 2.9.21
Wouter Verhelst [Mon, 9 May 2011 18:11:30 +0000 (20:11 +0200)]
Release 2.9.21

11 years agoFix 'make distcheck'
Wouter Verhelst [Mon, 9 May 2011 18:01:31 +0000 (20:01 +0200)]
Fix 'make distcheck'

11 years agoFix thinko
Wouter Verhelst [Mon, 9 May 2011 17:51:20 +0000 (19:51 +0200)]
Fix thinko

It's nbd-client.8, not nbd-server.8

11 years agoDon't forget the template, and ignore generated files
Wouter Verhelst [Wed, 4 May 2011 12:04:03 +0000 (14:04 +0200)]
Don't forget the template, and ignore generated files

11 years agoManpage generation revisited
Wouter Verhelst [Wed, 13 Apr 2011 11:03:23 +0000 (13:03 +0200)]
Manpage generation revisited

Previously, we would generate manpages using direct automake-style @foo@
substitution. These, however, contain data in shell syntaxis, which
results in a manpage in the style of '${prefix}/etc/nbd-server/config
allows to configure the nbd-server', which is confusing.

Instead, generate a shell script that outputs the manpage using shell
interpolation, which supposedly works correctly. It's a bit yuck, but
it's the way automake wants us to do these things.

11 years agoDocumentation updates
Wouter Verhelst [Fri, 8 Apr 2011 12:01:39 +0000 (14:01 +0200)]
Documentation updates

- Document the protocol
- Move developer documentation into a separate directory. This includes
  the Doxyfile. Update some other files so that doc/ isn't git ignore'd,
  and so that the Doxyfile is generated at the right location.
- Add a README which explains the purpose of that directory.

11 years agoFix dup_serve
Wouter Verhelst [Mon, 21 Mar 2011 08:46:46 +0000 (09:46 +0100)]
Fix dup_serve

Copy the virtstyle field too, and make sure that we copy everything from
's' (the source) rather than from 'serve' (the destination)

11 years agoFix memleak
Wouter Verhelst [Thu, 3 Mar 2011 14:21:00 +0000 (15:21 +0100)]
Fix memleak

11 years agoFix inline usage
Wouter Verhelst [Thu, 3 Mar 2011 14:07:26 +0000 (15:07 +0100)]
Fix inline usage

inlines must be static, or gcc with some particular set of options (C99?
-Wall -Werror? dunno, don't care) won't compile it.

11 years agoRequire C99
Wouter Verhelst [Sun, 27 Feb 2011 23:30:47 +0000 (00:30 +0100)]
Require C99

We'll want to use a few C99-specific features, and C99 is getting older
than whisky now anyway.

11 years agoFix getopt usage
Wouter Verhelst [Sun, 13 Feb 2011 10:17:47 +0000 (11:17 +0100)]
Fix getopt usage

getopt returns an int, not a char. Since char is unsigned by default on
some architectures, this caused an infinite loop in option parsing

11 years agoCheck return value of read_all in all cases
Wouter Verhelst [Sat, 12 Feb 2011 19:18:45 +0000 (20:18 +0100)]
Check return value of read_all in all cases

... to avoid nbd-tester-client going berzerk if the server dies (this is a test
suite! It should deal with servers dying!)

11 years agoAssign a value to serve when using modern protocol
Wouter Verhelst [Sat, 12 Feb 2011 18:50:29 +0000 (19:50 +0100)]
Assign a value to serve when using modern protocol

We dereference this pointer later on, so need to make sure it's
actually valid.

As an added precaution, initialize it to NULL, so that we catch any
further incorrect dereferences, too.

11 years agoRelease 2.9.20
Wouter Verhelst [Fri, 28 Jan 2011 12:47:13 +0000 (13:47 +0100)]
Release 2.9.20

11 years agoTest request blocks that are larger than 1MB, too.
Wouter Verhelst [Fri, 28 Jan 2011 12:45:48 +0000 (13:45 +0100)]
Test request blocks that are larger than 1MB, too.

11 years agoFix handling of oversized requests
Wouter Verhelst [Fri, 28 Jan 2011 12:19:30 +0000 (13:19 +0100)]
Fix handling of oversized requests

Previously, nbd-server would not serve requests that were over 1MB in
size. This was a problem, and even a bug since the kernel does send such

Modify the server so that it loops if the request is larger than 1MB.

11 years agoFix buffer size checking
Wouter Verhelst [Thu, 27 Jan 2011 21:30:09 +0000 (22:30 +0100)]
Fix buffer size checking

Yes, this means we've re-introduced CVE-2005-3534. Sigh.

11 years agoRemove outdated roadmap
Wouter Verhelst [Wed, 26 Jan 2011 00:46:21 +0000 (01:46 +0100)]
Remove outdated roadmap

11 years agoRelease 2.9.19
Wouter Verhelst [Sun, 16 Jan 2011 00:41:16 +0000 (01:41 +0100)]
Release 2.9.19

11 years ago10 TByte partition
sf@psjt.org [Sat, 11 Dec 2010 00:27:45 +0000 (01:27 +0100)]
10 TByte partition


The attached patch allows to run a 16TB nbd partition on a 32-bit

Gruß, Stephan

11 years agonbd-server: Limit the number of connections
Gregory Thiemonge [Mon, 27 Sep 2010 14:04:36 +0000 (16:04 +0200)]
nbd-server: Limit the number of connections

Hi there,

This is a patch that allows to limit the number of opened connections in

This limitation can be specified from both command line and config
- -M <n> or --max-connections <n> from command line
- or maxconnections = <n> in config files (export sections)


11 years agoPut nbd-client back in sbin
Wouter Verhelst [Wed, 8 Sep 2010 08:31:24 +0000 (10:31 +0200)]
Put nbd-client back in sbin

11 years agoMove man files to man/
Laurent Vivier [Fri, 27 Aug 2010 18:48:17 +0000 (20:48 +0200)]
Move man files to man/

Signed-off-by: Laurent Vivier <laurent@vivier.eu>

11 years agoRevisit documentation
Wouter Verhelst [Thu, 2 Sep 2010 10:55:11 +0000 (12:55 +0200)]
Revisit documentation

There were a few issues with the documentation, where it grew some hairy
and weird phrasing. Fix those.

11 years agoRemove GCC warnings:
Laurent Vivier [Mon, 23 Aug 2010 20:51:50 +0000 (22:51 +0200)]
Remove GCC warnings:

warning: ignoring return value of ‘write’
warning: ignoring return value of ‘read’
warning: format not a string literal and no format arguments
warning: ignoring return value of ‘daemon’

Signed-off-by: Laurent Vivier <laurent@vivier.eu>

11 years agoBe less scary
Wouter Verhelst [Tue, 24 Aug 2010 01:11:22 +0000 (03:11 +0200)]
Be less scary

When nothing is configured, a rather scary warning is displayed. Change
it so that it isn't quite as scary, since that produces a number of
questions from users who don't know nbd-server.

11 years agoOops
Wouter Verhelst [Thu, 19 Aug 2010 18:04:28 +0000 (20:04 +0200)]

11 years agoREADME: nbX -> nbdX
Led [Fri, 11 Dec 2009 14:14:33 +0000 (16:14 +0200)]
README: nbX -> nbdX

11 years agoinclude sdp_inet.h for build with SDP
Led [Fri, 11 Dec 2009 15:30:04 +0000 (17:30 +0200)]
include sdp_inet.h for build with SDP

11 years agofix build with non-gcc compiler
Wouter Verhelst [Thu, 19 Aug 2010 17:57:07 +0000 (19:57 +0200)]
fix build with non-gcc compiler

Pulled from Alt Linu



11 years agoRelease 2.9.18
Wouter Verhelst [Mon, 9 Aug 2010 18:02:09 +0000 (14:02 -0400)]
Release 2.9.18

11 years agoExtend test suite and fix named exports
Wouter Verhelst [Mon, 9 Aug 2010 17:52:00 +0000 (13:52 -0400)]
Extend test suite and fix named exports

11 years agoComment out <linux/types.h> include
Wouter Verhelst [Fri, 6 Aug 2010 21:14:31 +0000 (17:14 -0400)]
Comment out <linux/types.h> include

We provide the necessary bits ourselves anyway, and it doesn't exist on
non-Linux systems.

11 years agoUse a recent enough version of nbd.h (oops)
Wouter Verhelst [Fri, 6 Aug 2010 16:35:06 +0000 (12:35 -0400)]
Use a recent enough version of nbd.h (oops)

11 years agoRelease 2.9.17
Wouter Verhelst [Fri, 6 Aug 2010 00:51:28 +0000 (20:51 -0400)]
Release 2.9.17

11 years agoDocument differences with old style exports
Wouter Verhelst [Fri, 6 Aug 2010 00:51:06 +0000 (20:51 -0400)]
Document differences with old style exports

11 years agoFix simple_test for named exports
Wouter Verhelst [Fri, 6 Aug 2010 00:37:45 +0000 (20:37 -0400)]
Fix simple_test for named exports

Old-style exports require the oldstyle=true option in the 'generic'
section; so add that.

Prepare simple_test for support for named exports in nbd-tester-client,
too, but that still needs to be implemented.

11 years agoFix command-line oldstyle export
Wouter Verhelst [Thu, 5 Aug 2010 23:47:19 +0000 (19:47 -0400)]
Fix command-line oldstyle export

11 years agoUse IANA-assigned port number: 10809
Wouter Verhelst [Wed, 4 Aug 2010 03:26:07 +0000 (23:26 -0400)]
Use IANA-assigned port number: 10809

11 years agoSanitize negotiation a bit
Wouter Verhelst [Wed, 28 Jul 2010 22:10:50 +0000 (18:10 -0400)]
Sanitize negotiation a bit

- We don't need 64 bit size_t for a name
- We don't need 64 reserved bits client to server; if we ever need more
  than 31, we'll just add another field and use the last bit as a marker
  to say that the other field is available.

11 years agoDocumentation updates
Wouter Verhelst [Wed, 28 Jul 2010 02:56:30 +0000 (22:56 -0400)]
Documentation updates

- Document -N / -name option
- Some generic docbook fixes

11 years agoMerge branch 'master' into names
Wouter Verhelst [Tue, 27 Jul 2010 22:54:37 +0000 (18:54 -0400)]
Merge branch 'master' into names

11 years agoMention two-dash form of long options
Wouter Verhelst [Tue, 27 Jul 2010 22:48:09 +0000 (18:48 -0400)]
Mention two-dash form of long options

11 years agoReturn the right value on nbd-client -c
Wouter Verhelst [Tue, 27 Jul 2010 22:41:06 +0000 (18:41 -0400)]
Return the right value on nbd-client -c

command line parsing rewrite accidentally removed this.

11 years agoFix a host/network order bug
Wouter Verhelst [Tue, 27 Jul 2010 18:52:15 +0000 (14:52 -0400)]
Fix a host/network order bug

11 years agoFunctional fixes
Wouter Verhelst [Tue, 27 Jul 2010 18:35:12 +0000 (14:35 -0400)]
Functional fixes

Result of tests. It works! Whee!

11 years agoDocumentation update
Wouter Verhelst [Tue, 27 Jul 2010 17:40:31 +0000 (13:40 -0400)]
Documentation update

11 years agoActually disable oldstyle export when requested
Wouter Verhelst [Tue, 27 Jul 2010 12:25:10 +0000 (08:25 -0400)]
Actually disable oldstyle export when requested

11 years agoUse a different magic
Wouter Verhelst [Tue, 27 Jul 2010 11:34:04 +0000 (07:34 -0400)]
Use a different magic

Use a different magic, to avoid old clients accidentally using the
well-known port and hanging.

11 years agoInitial implementation of named exports
Wouter Verhelst [Mon, 26 Jul 2010 23:44:17 +0000 (19:44 -0400)]
Initial implementation of named exports

11 years agoFix segfault
Wouter Verhelst [Mon, 26 Jul 2010 20:37:29 +0000 (16:37 -0400)]
Fix segfault

11 years agoDocumentation update
Wouter Verhelst [Sun, 25 Jul 2010 13:19:20 +0000 (15:19 +0200)]
Documentation update

11 years agoPrepare for 2.9.16
Wouter Verhelst [Sun, 25 Jul 2010 00:04:09 +0000 (02:04 +0200)]
Prepare for 2.9.16

11 years agoMake -Wall clean
Wouter Verhelst [Sun, 25 Jul 2010 00:00:23 +0000 (02:00 +0200)]
Make -Wall clean

11 years agoAdd nbd.h to source
Wouter Verhelst [Sat, 24 Jul 2010 19:48:24 +0000 (21:48 +0200)]
Add nbd.h to source

Previously, we would depend on an out-of-tree nbd.h. This is error-prone
on Linux (if the kernel nbd.h changes incompatibly, the userspace tools
won't compile anymore) and problematic on non-Linux (where you'd have to
manage somehow to fetch a working nbd.h)

So, stop being silly.

11 years agoGenerate nbd-client.8.in, too
Wouter Verhelst [Sat, 24 Jul 2010 19:47:50 +0000 (21:47 +0200)]
Generate nbd-client.8.in, too

11 years agoWhitespace fixes
Wouter Verhelst [Sat, 24 Jul 2010 19:47:33 +0000 (21:47 +0200)]
Whitespace fixes

11 years agoRemove cruft
Wouter Verhelst [Sat, 24 Jul 2010 19:18:34 +0000 (21:18 +0200)]
Remove cruft

This was useful when we tried making github our official distribution
point; but we're not doing that anymore, so drop it.

11 years agoImprove structure
Wouter Verhelst [Sat, 24 Jul 2010 19:07:00 +0000 (21:07 +0200)]
Improve structure

- Use getopt_long_only() to implement option parsing. This probably
  makes use of small C libraries harder, but that wasn't very much
  possible to begin with, anyway.
- Deprecate bs= and timeout= options in favour of new --block-size and
  --timeout options.
- Compartmentalize a bit more. Yes, the compiler will optimize that away
  in some cases, but what do I care, I don't need to write assembler

Documentation update to follow.

11 years agoFix compile with -DNOFORK
Wouter Verhelst [Thu, 22 Jul 2010 13:22:47 +0000 (15:22 +0200)]
Fix compile with -DNOFORK

11 years agoFix logic reversal in authorization file
Wouter Verhelst [Wed, 21 Jul 2010 21:18:34 +0000 (23:18 +0200)]
Fix logic reversal in authorization file

12 years agoDeprecate command line export options.
Wouter Verhelst [Fri, 18 Jun 2010 06:35:36 +0000 (08:35 +0200)]
Deprecate command line export options.

12 years agoWhitespace fix
Wouter Verhelst [Fri, 18 Jun 2010 06:32:33 +0000 (08:32 +0200)]
Whitespace fix

12 years agoUse correct names
Wouter Verhelst [Mon, 14 Jun 2010 20:48:13 +0000 (22:48 +0200)]
Use correct names

The kernel uses /dev/nbdX rather than /dev/nbX. MAKEDEV used to be
different at some point, but no more.

12 years agoFix bugs in command-line argument handling
Wouter Verhelst [Thu, 20 May 2010 13:35:57 +0000 (15:35 +0200)]
Fix bugs in command-line argument handling

We produced an error message when all four flags were used; and we would
only catch such flags if they were produced in the right order (which
was different from the order in the manpage).

Thanks to Fan Zhang for catching these.

12 years agoFix leaks
Wouter Verhelst [Mon, 3 May 2010 13:57:28 +0000 (15:57 +0200)]
Fix leaks

There were a few strings that weren't being removed. This is
cleanup-code that's not called all that often, but We Shouldn't

12 years agoImprove output
Wouter Verhelst [Wed, 14 Apr 2010 15:30:52 +0000 (17:30 +0200)]
Improve output

- When using a float to store a result, make sure we don't do integer
- Add our PID to the output, so that we can understand which line of
  output is part of which nbd-tester-client run.

12 years agoMissed a bit
Wouter Verhelst [Thu, 1 Apr 2010 11:23:30 +0000 (13:23 +0200)]
Missed a bit

12 years agoDocumentation update
Wouter Verhelst [Thu, 1 Apr 2010 11:07:26 +0000 (13:07 +0200)]
Documentation update

Since we now support IPv6, upodate those bits of the documentation that
assume v4 only.

12 years agoRelease 2.9.15
Wouter Verhelst [Wed, 24 Mar 2010 21:01:36 +0000 (22:01 +0100)]
Release 2.9.15