Alex Young
5996c8f7ba
Simplify a FATAL_IF_NEGATIVE
2012-06-11 15:31:59 +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
b5427d13db
Explicitly check for which fd is acceptable in server_accept
2012-06-11 13:49:35 +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
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
2d9d00b636
Pull ACLs into their own struct
2012-06-07 17:47:43 +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
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
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
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
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
Alex Young
457987664a
Renamed struct client_params to struct client
2012-06-06 11:33:17 +01:00
Alex Young
40279bc9ca
Split client-specific code into client.{c,h}
2012-06-06 11:27:52 +01:00
Alex Young
a80c5ce6b5
Moved sockaddr_address_data to serve.c and renamed params.h to serve.h
2012-06-06 10:45:07 +01:00
Alex Young
cc97dd4842
Rename control to control_fd and struct mode_serve_params to struct server
2012-06-06 10:35:50 +01:00
Alex Young
78b1879cab
Merge
2012-06-06 10:19:59 +01:00
Alex Young
059be22c27
Rename int server to int server_fd in mode_serve_params
2012-06-06 10:19:45 +01:00
Matthew Bloch
2245385117
Added msync() call after every write - not sure whether it's necessary yet.
2012-06-06 01:27:37 +01:00
Alex Young
29937cdcf9
Merge
2012-06-01 16:25:41 +01:00
Alex Young
91ab715659
Indentation fix
2012-06-01 16:24:50 +01:00
nick
b985e97098
Automated merge with ssh://dev/flexnbd-c
2012-06-01 14:51:43 +01:00
nick
04d67b3bab
acls: Add a default-deny option, which allows you to specify what an empty ACL means.
...
When this option is specified, an empty ACL means "reject all clients". Without it,
an empty ACL means "accept all clients"
2012-06-01 14:48:34 +01:00
Alex Young
9dbb107bf8
Use nbdtypes to write the nbd hello message
2012-05-31 20:33:42 +01:00
Alex Young
185a840e03
Factor out the bulk of client_serve_request, and add convenience converters in src/nbdtypes.c
2012-05-31 17:44:11 +01:00
Alex Young
949d7d6a72
Don't check for the INCOMPLETE file on read
2012-05-31 14:11:57 +01:00
Alex Young
1aec12613c
Ditch a couple of unneeded variables to silence gcc warnings
2012-05-31 14:09:35 +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
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