summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [FUSE] Cache signalfd instances used in fuse read handlerSimon Rettberg2017-10-241-2/+43
| | | | | | Previously, a fresh one was created and destroyed fo every read requests. This caused a lot of syscalls when reading. Now there's a simple cache of currently up to 6 signalfd.
* [FUSE] Spacing; Don't check if server proto is newer than clientSimon Rettberg2017-10-241-3/+3
| | | | | | | The server is always backwards compatible, and so should be the client. If support for an older version will not be kept up, MIN_SUPPORTED_{CLIENT,SERVER} will be increased accordingly so that the connection is dropped.
* [FUSE] Fix type mismatch warningsSimon Rettberg2017-10-243-18/+37
|
* [SERVER] Initialize PRNGSimon Rettberg2017-10-242-0/+2
|
* [SERVER] Get rid of zlib dependencySimon Rettberg2017-10-244-19/+649
| | | | | | We only used it for CRC-32, so now the source tree includes a stripped down version of the crc32 code from the zlib project.
* [SERVER] Fix types or add explicit casts everywhere we might have type ↵Simon Rettberg2017-10-2416-110/+120
| | | | conversion problems
* [SERVER] Properly support passing negative values to timing_gets()Simon Rettberg2017-10-201-1/+1
|
* [SERVER] Mute signedness warning on 32bitSimon Rettberg2017-10-201-2/+2
|
* [SERVER] Use monotonic clock for measuring timeSimon Rettberg2017-10-1910-74/+264
| | | | | Introduces new shared source unit timing.[ch] Closes #3214
* [SERVER] More tweaks to alt-server selection wrt proxy cyclesSimon Rettberg2017-10-181-4/+9
| | | | | This needs an overhaul; status needs to be moved from global alt-servers list to individual uplinks
* [SERVER] Don't try to load metadata files as images; fix clang-analyzer ↵Simon Rettberg2017-10-182-15/+36
| | | | false positives
* [SERVER] Try to connect to different server if proxy cycle is detectedSimon Rettberg2017-10-174-9/+34
|
* [*] Support hop-counting in request header, protocol version 3Simon Rettberg2017-10-1710-45/+101
| | | | | | | | | | | | | | 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] rpc: Support querying storage size + available spaceSimon Rettberg2017-10-114-9/+27
|
* [KERNEL] version check to support pointer to backing_dev_info in request_queueSimon Rettberg2017-10-091-0/+6
| | | | | This changed in 4.11, see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc3b17cc8bf21307c7e076e7c778d5db756f7871
* [SERVER] Fix invalid pointer derefSimon Rettberg2017-10-061-1/+1
|
* [SERVER] rpc: Return a unique id generated at startup with each replySimon Rettberg2017-10-061-4/+19
|
* [SERVER] Return client count when requesting stats but not client listSimon Rettberg2017-10-062-4/+14
|
* [SERVER] rpc: Fix bitmask calc for odd subnet sizes (not 8, 16, ...)Simon Rettberg2017-10-041-1/+1
|
* [SERVER] How about updating atime on connect?Simon Rettberg2017-10-041-0/+3
|
* [SERVER] Implement HTTP RPC that supports different queries and ACLSimon Rettberg2017-10-015-45/+264
| | | | | | | | | - 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] Move includes from header to source unitSimon Rettberg2017-10-012-2/+2
|
* [SERVER] Helper function for loading line based space separated data from fileSimon Rettberg2017-10-013-34/+63
|
* [*] constness for sock_sendAll paramsSimon Rettberg2017-10-012-3/+3
|
* [SERVER] Fix closing timeout reset, fix log messagesSimon Rettberg2017-09-082-1/+5
|
* [SERVER] Refactor: Move client list to net.* and isolateSimon Rettberg2017-09-078-247/+290
|
* [SERVER] Implement closeUnusedFd config optionSimon Rettberg2017-09-024-0/+36
| | | | | | | This will close the readFd of images that have no active clients after some idle period (1 hour currently). Prevents deleted images from taking up space until the server is shut down.
* [*] Continue splitting #defines to clientconfig.h etc.Simon Rettberg2017-09-0210-35/+51
|
* [SERVER] Split server-only defs from config.h to serverconfig.hSimon Rettberg2017-08-268-32/+54
|
* [SERVER] Change handling of nonworking images, check for size changeSimon Rettberg2017-08-241-77/+169
|
* [SERVER] Fix status query on big endianSimon Rettberg2017-08-211-4/+7
|
* [SERVER] Make crclist handling endian-safeSimon Rettberg2017-04-272-1/+9
|
* [SERVER] Remove stray lineSimon Rettberg2017-04-271-1/+0Star
|
* [SERVER] Fix image_load aswell...Simon Rettberg2016-11-091-12/+12
|
* [SERVER] Fix loading of rid-based images in vmdk legacy modeSimon Rettberg2016-11-091-9/+8Star
|
* [FUSE] Little more verbosity in some error msgSimon Rettberg2016-11-091-1/+1
|
* [KERNEL] PAGE_CACHE_SIZE -> PAGE_SIZESimon Rettberg2016-10-171-1/+1
| | | | | | | These two have been the same all along and recently, the _CACHE variant has been removed (kernel 4.6). Switch to the non-CACHE version so build doesn't break on newer kernels.
* SERVER_MAX_CLIENTS: 400 -> 4000konrad2016-07-191-1/+1
|
* Added rudimentary benchmark tool.Christian Klinger2016-07-156-0/+392
|
* [SERVER] Bump debug lock tracking limitsSimon Rettberg2016-07-131-2/+2
|
* [CLIENT] fix help output for closing a deviceJonathan Bauer2016-06-131-1/+1
|
* [FUSE] Wait a little longer before switching via new approachSimon Rettberg2016-03-231-8/+8
|
* [FUSE] Add new load balancing mechanismSimon Rettberg2016-03-231-12/+49
| | | | | | | | | | | | | | | | | | | | | | | | | The new mechanism is supposed to complement the existing RTT based balancing. While the RTT-averaging approach is better suited to react to sudden drastic changes in server latency. The new approach doesn't directly consider RTT, but keeps track of how many consecutive times each server was the best server when measuring the RTTs. The higher that counter rises, the more likely it will become that the connection switches over to that server. Eg.: Server 1 measures 600µs each time Server 2 measures 599µs each time After a while, in case server 1 is currently used, the connection will eventually switch over to server 2. The RTT-based mechanism would not switch over in this case, since the threshold that prevents constant switching between servers is not reached. The new approach is meant to handle scenarios where the network is generally fast, but it would still be beneficial from a network topology point of view if the clients switch to the slightly faster server, assuming it is closer to the client and thus less network segments are burdened.
* [SERVER] Fix formattingSimon Rettberg2016-03-229-57/+58
|
* [SERVER] (FreeBSD) Unlock send mutex on sendfile errorSimon Rettberg2016-03-221-0/+1
|
* compile dnbd3-fuse on FreeBSD without warning :)Sebastian2016-02-112-2/+4
|
* remove kernel build breaking includeSebastian2016-02-111-1/+0Star
|
* running FreeBSD sendfileSebastian2016-02-111-13/+36
|
* dnbd3server build success on freebsd :)Sebastian2016-02-119-30/+77
|
* cleanup commitsSebastian2016-02-1125-145/+47Star
|