summaryrefslogtreecommitdiffstats
path: root/src/types.h
Commit message (Collapse)AuthorAgeFilesLines
* [SERVER] Always use fsync instead of fdatasyncSimon Rettberg2018-07-051-1/+0Star
| | | | | | | | Now that we support sparse files, using just fdatasync isn't safe anymore. Instead of handling both cases differently just drop fdatasync, the difference has probably been marginal all along anyways.
* [SERVER] Use likely/unlikely in uplink disk writing loopSimon Rettberg2018-06-251-0/+8
|
* [SERVER] Add AFL supportSimon Rettberg2017-10-301-0/+6
| | | | | | | | | | | AFL is an instrumenting fuzzer. It expects to pass input to the program to be tested via command line (file name) or via stdin. This adds support for reading messages that normally would arrive via network directly from stdin. In this mode, the server is pretty useless otherwise. http://lcamtuf.coredump.cx/afl/
* [*] Introduce constants for IPv4/6 in dnbd3_host_tSimon Rettberg2017-10-281-1/+7
| | | | | | | AF_INET luckily was "2" on all platforms checked, so no problems there with interoperation, but AF_INET6 is different between Linux, BSD, Windows and possibly others, so map back and forth between AF_INET/AF_INET6 and HOST_IP4/HOST_IP6 to fix this.
* [*] Support hop-counting in request header, protocol version 3Simon Rettberg2017-10-171-6/+27
| | | | | | | | | | | | | | We steal 8 bits from the request offset to count hops when requests get relayed by proxies. This still leaves plenty of bits for the offset (56 bits, supporting images of up to 72 petabytes). This is used to detect proxy cycles. The algorithm is not perfect but should prevent endless relays of the same request. This is backwards compatible to old clients and servers, as the server only ever sets the hopcount in relayed requests if the upstream server is using protocol version 3 or newer, and clients are automatically upwards compatible as there is practically no image larger than 74PB, so the newly introduced hop count field is always 0 even in requests from old clients.
* [SERVER] Implement HTTP RPC that supports different queries and ACLSimon Rettberg2017-10-011-1/+1
| | | | | | | | | - ACL is defined in new file rpc.acl - Queries are still WIP, for now something like /query?q=stats&q=images /query?q=clients works, although the parsing is still ugly - Also supports HTTP keep-alive
* [SERVER] Fix formattingSimon Rettberg2016-03-221-2/+2
|
* dnbd3server build success on freebsd :)Sebastian2016-02-111-0/+15
|
* [KERNEL/CLIENT] Several minor tweaks and changesSimon Rettberg2016-01-111-1/+3
| | | | | | | | | | - Disable panic timeout that reports errors to block layer by default - Get rid of "is_server" used by old proxy mode, introduce "honor_server_alts" that just controls whether we use alts provided by the server - Allow switching servers when we only have 3 RTT measurements - If using alts provided by server, don't ignore those that come from other servers than the initial one
* [SERVER] Crank up warning levels of gcc and fix them all (mostly sign ↵Simon Rettberg2015-01-141-0/+6
| | | | | | | compare and some unused params) Also allow newline at end of alt-servers file without complaining about it not being a valid alt server definition.
* Fix compilation on CentOS by adding yet another endian related checkSimon Rettberg2015-01-131-1/+1
|
* [SERVER] Use stdbool.h for booleans; minor refactoring of variable and ↵Simon Rettberg2014-12-311-7/+1Star
| | | | function names
* [SERVER] Extend endianness detectionSimon Rettberg2013-11-081-1/+1
|
* [SERVER] Still working on the uplink... Almost theresr2013-07-261-2/+2
|
* ...Working on proxy mode...sr2013-07-251-0/+1
|
* Remove all glib dependencies from serversr2013-07-171-0/+14
|
* Replace all pthread_spin_* calls with spin_*, so that all locking can be ↵sr2013-07-171-0/+2
| | | | | | tracked and debugged Fix compilation of kernel module
* "It's compiling!"sr2013-07-151-0/+1
|
* [SERVER] Remove unix socket support for RPC interfacesr2012-11-071-2/+2
| | | | [SERVER] Restructure RPC functions, add helpers
* [SERVER] Check which dnbd3 devices are idle and ready to use for proxy modesr2012-09-031-7/+12
| | | | | | [SERVER] Skeleton of server-to-server communication [SERVER] Update access-time of images in use by actual clients [*] Add dnbd3_host_t type to handle address+port+addrtype consistently across the project
* [*] Fixed and unified formattingsr2012-09-031-15/+15
|
* [SERVER] Add list of trusted servers and namespaces (load, display)sr2012-09-021-6/+7
|
* [KERNEL] Tell server whether we're a client or a server in proxy modesr2012-09-011-5/+3Star
| | | | | [KERNEL] SysFS: Return empty string for current_server if not connected [SERVER] Code refactoring
* [KERNEL] Add IOCTLs to add and remove serverssr2012-08-281-0/+5
| | | | | [KERNEL] Detect dead idle connection earlier [KERNEL] Improved debug output
* [KERNEL] Refactor and extend sysfs (add data the server will need in proxy mode)sr2012-08-271-4/+5
| | | | | | | [SERVER] Use MSG_MORE instead of cork/uncork to save two syscalls [KERNEL] Fail-Counter for alt servers, ignore servers that fail too often [KERNEL] Add new alt servers to list, instead of replacing the old list [*] Add CMD_LATEST_RID to tell client about new revisions
* [KERNEL] Only update alt-server list if received from initial serversr2012-08-251-0/+1
| | | | [*] Add CMD_KEEPALIVE protocol message type
* [*] Fix bug in serializer_get_*sr2012-08-251-0/+2
| | | | | | [CLIENT/KERNEL] Change ioctl to handle volume names instead if vids [*] Make protocol endian safe [CLIENT] Display ioctl errorcode on failure
* [*] Cleanup, comments, more error checkssr2012-08-241-12/+52
| | | | | | | | [SERVER] Fix a few off-by-one bugs [SERVER] Make log available through IPC [KERNEL] Hot-Swap to faster connection on load-balance [KERNEL] Report I/O error to block layer if no server replies within a given time frame [*] Modified network protocol to handle volume names instead of ids
* [ALL] Some cleanupJohann Latocha2012-05-211-1/+0Star
|
* [KERNEL] Read ahead increasedJohann Latocha2012-02-231-0/+1
|
* [ALL] Bugs, bugs, bugs...Johann Latocha2012-02-221-4/+0Star
|
* [ALL] Send proper ridJohann Latocha2012-02-211-0/+2
|
* [SERVER] Config reload fixedJohann Latocha2012-02-101-0/+4
|
* [ALL] RefactoringJohann Latocha2012-02-081-10/+10
| | | | | [ALL] Send and receive servers [TODO] Config file reloading is broken
* [KERNEL] Device can now be closedJohann Latocha2012-02-031-7/+12
|
* [SERVER] Parsing config file with glibJohann Latocha2012-02-021-5/+7
| | | | | [KERNEL] Bugfixes [CLIENT] Using vid and rid
* [ALL] Some refactoringJohann Latocha2012-01-311-2/+2
|
* [ALL] Reformat (line wrapping, indent)Johann Latocha2012-01-301-8/+8
|
* [SERVER] Timeout for client socketsJohann Latocha2012-01-301-0/+1
| | | | [KERNEL] Send keep alive
* [KERNEL] Change server at runtimeJohann Latocha2012-01-301-4/+5
| | | | [SERVER] Build error/warning on x64 fixed
* [KERNEL] Multi device supportJohann Latocha2012-01-251-2/+4
|
* Serving more than one image.Johann Latocha2012-01-241-1/+23
|
* First working version :)Johann Latocha2012-01-191-0/+33