Alex Young
81fe41f016
Merge
2012-05-31 13:53:21 +01:00
Alex Young
074efd9fa4
Add a no-op debug() define for non-debug builds and make valgrind optional in nbd_scenarios
2012-05-31 13:53:04 +01:00
Alex Young
c2d1414bff
Merge
2012-05-31 13:32:56 +01:00
Alex Young
623a398767
Add a --debug flag for DEBUG builds
...
If you compile with:
DEBUG=true rake build
then all the commands get a --debug flag as an option which will make
the server dump crazy amounts of data to stderr.
2012-05-31 13:31:22 +01:00
Alex Young
268bebd408
Run the nbd_scenario tests under valgrind
2012-05-31 13:23:12 +01:00
nick
71e755906b
Make the Rakefile take note of DEBUG=
2012-05-31 12:12:32 +01:00
nick
e863bffe3d
Set TCP_NODELAY on our socket. This decreases average NBD read request RTT from 0.3ms to 0.001ms
2012-05-31 11:33:31 +01:00
mbloch
c6dd4fbd89
Merge
2012-05-30 20:14:14 +01:00
mbloch
cd976d1c2c
Fixed short copies of struct sockaddr (it's shorter than sockaddr_in6!)
...
which was giving duff results when comparing IPv6 ACL entries.
2012-05-30 20:13:56 +01:00
Alex Young
42599fe01e
Make sure we build arch-specific packages
2012-05-30 18:11:32 +01:00
Alex Young
f21dd9e888
Basic debian packaging
...
Add a build dependency on rake_utils, but we get simple debian packages
out of it.
2012-05-30 17:35:07 +01:00
Alex Young
15c3133458
Simplify option definition with som handy macros
2012-05-30 17:33:38 +01:00
Alex Young
fe08084144
Added tag 0.0.1 for changeset 27409c2c1313
2012-05-30 17:11:10 +01:00
Alex Young
0102217019
Merge
2012-05-30 15:39:55 +01:00
Alex Young
0c62e66a70
Added getopt_long command-line handling.
...
All parameters now have switches. The one gotcha is the parameter which
was overloaded - s_length_or_filename to params_readwrite - is only
pretending to be a length at the moment. If you pass a filename it'll
still work, but the help messages don't mention that. I'll split the
parameter into two in a later commit.
2012-05-30 15:19:40 +01:00
Alex Young
a01621dc1e
Added .h files to the Rakefile
2012-05-30 15:06:06 +01:00
mbloch
6d8afd1035
Fixed bug where ACL was accidentally deleted when being set from control
...
socket.
2012-05-30 13:03:02 +01:00
nick
46ceb85aec
Fix the usage message
2012-05-30 11:28:32 +01:00
Alex Young
7832958522
Rearranged the project to have src/ and build/ directories
...
This simplifies keeping everything clean.
2012-05-30 09:51:20 +01:00
mbloch
cf2400fedd
Fixed race in tests.
2012-05-29 17:01:54 +01:00
Matthew Bloch
21ccd17ea5
Added .INCOMPLETE hack to aid with marking finished transfers.
2012-05-29 11:24:24 +01:00
Matthew Bloch
ab0dfb5eca
Added mirror write barrier / final pass stuff & clean exit afterwards.
...
Plenty of code documentation.
2012-05-29 04:03:28 +01:00
mbloch
dcb1633b8b
Lots of errors spotted by Alex fixed, added mutexes to accept & I/O, added
...
"remote" commands to set ACL, start mirror etc.
2012-05-29 00:59:12 +01:00
Matthew Bloch
c54d4a68ba
Added another write/read test, fixed bugs in splice() usage and IPv6
...
socket handling.
2012-05-27 14:40:16 +01:00
Matthew Bloch
5a5041a751
First few external tests with test/unit, some minor tidying of internal data
...
structures.
2012-05-24 01:39:35 +01:00
mbloch
d5d6e0f55d
Pulled some duplicated code out of control.c into
...
read_lines_until_blankline.
2012-05-23 14:03:30 +01:00
Matthew Bloch
9c26f7f36f
Split control-socket functions into separate file.
2012-05-23 00:42:14 +01:00
Matthew Bloch
811e4ab2cd
Fixed mirroring to work (error reporting suspect though).
2012-05-22 00:22:06 +01:00
Matthew Bloch
7eaf5c3fd3
Initial, untested mirror implementation and resolved some type confusion
...
around struct ip_and_mask pointers (no idea how it worked before). Added a
header for readwrite.h used in mirror implementation.
2012-05-21 04:03:17 +01:00
Matthew Bloch
cd6e878673
More valgrind-found bugs, extracted open_and_mmap from main code.
2012-05-21 04:00:45 +01:00
Matthew Bloch
43239feb38
Fixed some uninitialised variables courtesy of valgrind.
2012-05-21 03:59:43 +01:00
Matthew Bloch
f7ce2c0ea5
Mostly finished bitset tests, fixed test build to include utilities, remove
...
efence as valgrind far preferable.
2012-05-21 03:17:32 +01:00
Matthew Bloch
c94b6f365c
Tweaks to bitset.h, established a C test framework.
2012-05-20 14:38:46 +01:00
Matthew Bloch
8a38cf48eb
Fixed segfaulting access control, allowed change to acl via control socket.
2012-05-19 12:48:03 +01:00
Matthew Bloch
580b821f61
Added dummy control socket answering / changed serve_accept_loop to use
...
select() to avoid a separate listening thread.
2012-05-18 23:39:16 +01:00
mbloch
b533e4e31c
Added control socket, doesn't do anything yet.
2012-05-18 18:44:34 +01:00
Matthew Bloch
f5d8e740f8
Added .hgignore file
2012-05-18 13:25:54 +01:00
Matthew Bloch
ca53d6f270
Stopped NBD writes from committing all-zero blocks to disc (tentative, needs
...
further testing).
2012-05-18 13:24:35 +01:00
Matthew Bloch
0432fef8f5
Split code out into separate compilation units (first pass, anyway).
2012-05-17 20:14:22 +01:00
Matthew Bloch
aec90e5244
Non-functioning commit, half-way through adding sparse bitmap feature.
2012-05-17 11:54:25 +01:00
Matthew Bloch
f688d416a5
Added write mode.
2012-05-16 11:58:41 +01:00
Matthew Bloch
b1aa942b3d
Added working read via splice syscall.
2012-05-16 03:20:09 +01:00
mbloch
c796a526d0
Added Rakefile
2012-05-16 01:27:14 +01:00
mbloch
c6099f78ea
Silly bug fixes, added ACL support, added parser for read/write requests.
2012-05-15 18:40:58 +01:00
Matthew Bloch
94c2d44d7d
Some debugging, got it to serve.
2012-05-15 03:16:19 +01:00
Matthew Bloch
e2fbc7dcc1
It compiles :)
0.0.1
2012-05-15 02:42:03 +01:00