Alex Young
b986f6b63e
Take _GNU_SOURCE out of source and put it in CFLAGS
2012-06-13 09:59:08 +01:00
Alex Young
c7525f87dc
Removed proxying completely and fixed the pthread_join bug revealed in the process
2012-06-12 15:08:07 +01:00
Alex Young
2a71b4e7a4
Fix broken error checking around pthread functions
2012-06-11 16:08:19 +01:00
Alex Young
5996c8f7ba
Simplify a FATAL_IF_NEGATIVE
2012-06-11 15:31:59 +01:00
Alex Young
4c52bcd870
Make the error and fatal functions swallow semicolons properly
2012-06-11 15:26:42 +01:00
Alex Young
13a6a403a4
Make the error and fatal macros swallow semicolons properly
2012-06-11 15:23:06 +01:00
Alex Young
83b8b9eaac
Add general-purpose ERROR/FATAL_IF and ERROR/FATAL_UNLESS macros
2012-06-11 15:20:05 +01:00
Alex Young
c6182b9edf
Merge
2012-06-11 14:59:52 +01:00
Alex Young
e2d3161a4a
Set default log level to warn to shut the tests up
2012-06-11 14:59:26 +01:00
nick
8513144354
Automated merge with ssh://dev/flexnbd-c
2012-06-11 14:40:53 +01:00
nick
5ab9e10019
test: make check_serve bind() its outgoing socket to a known IP for these tests
2012-06-11 14:40:41 +01:00
Alex Young
710d8254d4
Make sure all ifs are braced
2012-06-11 14:34:17 +01:00
Alex Young
25fc0969cf
Make the compiler stricter and tidy up code to make the subsequent errors and warnings go away
2012-06-11 13:57:03 +01:00
Alex Young
8825f86726
Merge
2012-06-11 13:49:56 +01:00
Alex Young
b5427d13db
Explicitly check for which fd is acceptable in server_accept
2012-06-11 13:49:35 +01:00
nick
893db71d7c
Whitespace
2012-06-11 13:05:22 +01:00
nick
224bdcbf87
Fix handling ACLs where > 1 entry exists
2012-06-11 12:56:45 +01:00
nick
0b90517035
tests: Get rid of a warning
2012-06-11 10:08:24 +01:00
nick
0441ef9d74
tests: Get check_serve working after the merge of doom
2012-06-11 10:04:31 +01:00
Matthew Bloch
e8b5fae7ab
Merge, just renaming old error macros.
2012-06-09 02:37:23 +01:00
Matthew Bloch
b546539ab8
Rewrote error & log functions to be more general, use longjmp to get out of
...
trouble and into predictable cleanup functions (one for each of serve,
client & control contexts). We use 'fatal' to mean 'kill the thread' and
'error' to mean 'don't kill the thread', assuming some recovery action,
except I don't use error anywhere yet.
2012-06-09 02:25:12 +01:00
Matthew Bloch
8691533d88
Added hopeful default path to find rake_utils, turned undefined function
...
warnings into errors, and added expensive header scanning to .c->.o rule to
ensure changes to .h files cause recompiles as you'd expect.
2012-06-09 02:17:34 +01:00
Alex Young
b7096ef908
Audit client connections on acl update
2012-06-08 18:03:41 +01:00
Alex Young
35ca93b42c
Lock around acl updates
2012-06-08 11:02:40 +01:00
Alex Young
f7e1a098b1
Move updating the acl object into serve.c
...
* * *
Replacing the server acl sends an acl_updated signal
2012-06-08 10:32:33 +01:00
Alex Young
5fb0cd4cca
Fix O_NONBLOCK setting on self_pipes
2012-06-08 10:11:06 +01:00
Alex Young
2d9d00b636
Pull ACLs into their own struct
2012-06-07 17:47:43 +01:00
Alex Young
601e5b475a
Tidy the NULLCHECK macro to swallow semicolons properly
2012-06-07 16:00:38 +01:00
Alex Young
c628435f77
Fix an invalid define symbol
2012-06-07 15:59:13 +01:00
Alex Young
1cd8f4660f
Merge of doom
2012-06-07 14:40:55 +01:00
Alex Young
5930f25034
Use client stop signals for thread stopping
2012-06-07 14:25:30 +01:00
Matthew Bloch
40f0f9fab6
Big bit of debug output in write_not_zeroes (disabled).
2012-06-07 12:28:21 +01:00
Matthew Bloch
d763ab4e74
Fixed bug in bitset_run_count which was causing data corruptionn writing
...
around sparse boundaries.
2012-06-07 12:27:46 +01:00
Matthew Bloch
3810a8210f
Added some record-keeping / printing to fuzzer to assist with backtracking.
2012-06-07 12:25:56 +01:00
Alex Young
a90f84972b
Add stop signals to client threads
2012-06-07 11:44:19 +01:00
Matthew Bloch
5710431780
Refactored write_not_zeroes to use struct bitset_mapping instead of
...
repeating all that code (has not fixed earlier bug yet, but lots of
repetition cut).
2012-06-07 11:17:02 +01:00
Matthew Bloch
08f3d42b34
Improved fuzz test to find an actual code bug (previous bug was in the test
...
<g>).
2012-06-07 02:06:08 +01:00
Matthew Bloch
9fc3c061f8
Fixed arguments to debug function.
2012-06-07 01:15:29 +01:00
Matthew Bloch
8cf1a515dd
Missing break; in switch statement (verbose was setting default deny!)
2012-06-07 00:01:11 +01:00
Alex Young
cfa9f9c71f
Fix the sense of client_serve_request
2012-06-06 14:25:35 +01:00
Alex Young
e8b47d5855
Remove the accept lock as being unneeded
2012-06-06 14:07:55 +01:00
Alex Young
1fc76ad77f
Merge
2012-06-06 13:44:49 +01:00
Alex Young
16001eb9eb
Move checking for a closed client out of server_lock_io and into client_serve_request
2012-06-06 13:44:38 +01:00
nick
648f768ff6
tests: fix the Ruby flexnbd wrapper for mirror
2012-06-06 13:33:24 +01:00
Alex Young
1b289a0e87
Change io lock and unlock to server error on failure
2012-06-06 13:29:13 +01:00
Alex Young
9dbc0a31a8
Better error message
2012-06-06 13:19:24 +01:00
Alex Young
339e766339
Use self_pipe for close_signal
2012-06-06 12:41:03 +01:00
nick
14c9468b68
Automated merge with ssh://dev/flexnbd-c
2012-06-06 12:35:18 +01:00
nick
7544a59da1
mirror: Add --bind to our mirror mode.
...
Mirroring doesn't actually work yet, of course.
2012-06-06 12:35:01 +01:00
nick
f4a403842d
flexnbd: Fix specifying -d as --default-deny on the command line
2012-06-06 12:07:40 +01:00