Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SERVER] More tweaks to alt-server selection wrt proxy cycles | Simon Rettberg | 2017-10-18 | 1 | -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 Rettberg | 2017-10-18 | 2 | -15/+36 |
| | | | | false positives | ||||
* | [SERVER] Try to connect to different server if proxy cycle is detected | Simon Rettberg | 2017-10-17 | 3 | -9/+33 |
| | |||||
* | [*] Support hop-counting in request header, protocol version 3 | Simon Rettberg | 2017-10-17 | 6 | -34/+62 |
| | | | | | | | | | | | | | | 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 space | Simon Rettberg | 2017-10-11 | 4 | -9/+27 |
| | |||||
* | [SERVER] Fix invalid pointer deref | Simon Rettberg | 2017-10-06 | 1 | -1/+1 |
| | |||||
* | [SERVER] rpc: Return a unique id generated at startup with each reply | Simon Rettberg | 2017-10-06 | 1 | -4/+19 |
| | |||||
* | [SERVER] Return client count when requesting stats but not client list | Simon Rettberg | 2017-10-06 | 2 | -4/+14 |
| | |||||
* | [SERVER] rpc: Fix bitmask calc for odd subnet sizes (not 8, 16, ...) | Simon Rettberg | 2017-10-04 | 1 | -1/+1 |
| | |||||
* | [SERVER] How about updating atime on connect? | Simon Rettberg | 2017-10-04 | 1 | -0/+3 |
| | |||||
* | [SERVER] Implement HTTP RPC that supports different queries and ACL | Simon Rettberg | 2017-10-01 | 4 | -44/+263 |
| | | | | | | | | | - 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 unit | Simon Rettberg | 2017-10-01 | 2 | -2/+2 |
| | |||||
* | [SERVER] Helper function for loading line based space separated data from file | Simon Rettberg | 2017-10-01 | 3 | -34/+63 |
| | |||||
* | [SERVER] Fix closing timeout reset, fix log messages | Simon Rettberg | 2017-09-08 | 2 | -1/+5 |
| | |||||
* | [SERVER] Refactor: Move client list to net.* and isolate | Simon Rettberg | 2017-09-07 | 8 | -247/+290 |
| | |||||
* | [SERVER] Implement closeUnusedFd config option | Simon Rettberg | 2017-09-02 | 3 | -0/+33 |
| | | | | | | | 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 Rettberg | 2017-09-02 | 3 | -41/+2 |
| | |||||
* | [SERVER] Split server-only defs from config.h to serverconfig.h | Simon Rettberg | 2017-08-26 | 7 | -7/+54 |
| | |||||
* | [SERVER] Change handling of nonworking images, check for size change | Simon Rettberg | 2017-08-24 | 1 | -77/+169 |
| | |||||
* | [SERVER] Fix status query on big endian | Simon Rettberg | 2017-08-21 | 1 | -4/+7 |
| | |||||
* | [SERVER] Make crclist handling endian-safe | Simon Rettberg | 2017-04-27 | 2 | -1/+9 |
| | |||||
* | [SERVER] Remove stray line | Simon Rettberg | 2017-04-27 | 1 | -1/+0 |
| | |||||
* | [SERVER] Fix image_load aswell... | Simon Rettberg | 2016-11-09 | 1 | -12/+12 |
| | |||||
* | [SERVER] Fix loading of rid-based images in vmdk legacy mode | Simon Rettberg | 2016-11-09 | 1 | -9/+8 |
| | |||||
* | [SERVER] Bump debug lock tracking limits | Simon Rettberg | 2016-07-13 | 1 | -2/+2 |
| | |||||
* | [SERVER] Fix formatting | Simon Rettberg | 2016-03-22 | 7 | -54/+55 |
| | |||||
* | [SERVER] (FreeBSD) Unlock send mutex on sendfile error | Simon Rettberg | 2016-03-22 | 1 | -0/+1 |
| | |||||
* | running FreeBSD sendfile | Sebastian | 2016-02-11 | 1 | -13/+36 |
| | |||||
* | dnbd3server build success on freebsd :) | Sebastian | 2016-02-11 | 7 | -27/+56 |
| | |||||
* | cleanup commits | Sebastian | 2016-02-11 | 17 | -121/+39 |
| | |||||
* | [SHARED] signal.h -> fdsignal.h | Simon Rettberg | 2016-02-10 | 6 | -6/+6 |
| | |||||
* | First steps in make signals more abstract from the underlying mechanism; ↵ | Simon Rettberg | 2016-02-05 | 5 | -96/+71 |
| | | | | | | | | | | replace epoll with poll. We now don't assume that a signal equals a single fd (eventfd on Linux). The next step would be to create a version of signal.c that uses a pipe internally, so it can be used on other platforms, like *BSD. This is also the reason epoll was replaced with poll in uplink.c | ||||
* | [SERVER] BREAKING: Get rid of pseudo case-insensitivityv2.1 | Simon Rettberg | 2016-02-01 | 8 | -52/+39 |
| | | | | | | | | | | This was a wrong decision made long time ago, and it's broken in certain scenarios (eg. two servers serving from same NFS mount). Also it's of limited use anyways since it only supportes ASCII and would ignore umlauts, so blöd and BLÖD would still be considered two different images. So if you relied on this "feature" in any way, be careful when updating. | ||||
* | [SERVER] Fix a lot of (mostly harmless) data races | Simon Rettberg | 2016-01-11 | 11 | -90/+159 |
| | |||||
* | [SERVER] Performance: Optimized some functions (gprof) | Simon Rettberg | 2015-12-17 | 4 | -25/+45 |
| | | | | | | | A run with gprof revealed that background replication is a huge CPU hog. The block selection was very slow and has been improved a lot. Minor improvements were made to other functions that scan the cache map of an image and are thus relatively slow. | ||||
* | [SERVER] image_markComplete now handles locking so we remove() unlocked | Simon Rettberg | 2015-12-17 | 2 | -15/+18 |
| | |||||
* | [SERVER] Cancel scanning of image dir if _shutdown is set | Simon Rettberg | 2015-12-16 | 2 | -4/+8 |
| | | | | So you can cancel image loading on startup via Ctrl-C | ||||
* | [SERVER] Fix image_calcBlockCrc32: Use 64bit for fileSize param | Simon Rettberg | 2015-12-16 | 1 | -22/+27 |
| | | | | Using uint32_t for fileSize is not too clever :( | ||||
* | [SERVER] More fine grained locking for RPC; better error logging | Simon Rettberg | 2015-12-16 | 7 | -68/+143 |
| | |||||
* | [SERVER] Update config example | Simon Rettberg | 2015-12-15 | 1 | -2/+6 |
| | |||||
* | [SERVER] Remove non-working images from list, plus refactoring | Simon Rettberg | 2015-12-15 | 6 | -131/+315 |
| | | | | | | | | | | Now that we can automatically load unknown images from disk on request, it makes sense to remove non-working images from the image list. On future requests, we will look for them on disk again, which is nice in case of temporary storage hickups. Also, some more ore less related locking has been refined (loading images, replicating images) | ||||
* | [SERVER] Make listen port configurable | Simon Rettberg | 2015-12-14 | 3 | -3/+18 |
| | |||||
* | [SERVER] Free memory on exit to get new valgrind high score | Simon Rettberg | 2015-12-14 | 1 | -1/+4 |
| | |||||
* | [SERVER] Disallow images starting with "." now that we allow load-on-demand | Simon Rettberg | 2015-12-14 | 1 | -1/+2 |
| | | | | | This will prevent hidden files from being exported to clients and also prevents directory traversal attacks ( ../../image.img ) | ||||
* | [SERVER] Support looking on disk if an unknown image is requested | Simon Rettberg | 2015-12-12 | 5 | -28/+116 |
| | |||||
* | [SERVER] Nullpad images virtually at runtime instead of padding the actual file | Simon Rettberg | 2015-12-10 | 6 | -173/+158 |
| | |||||
* | [SERVER] Remove redundant range check | Simon Rettberg | 2015-12-09 | 1 | -8/+0 |
| | |||||
* | [SERVER] Use error code constants instead of magic values | Simon Rettberg | 2015-12-07 | 1 | -4/+4 |
| | |||||
* | [SERVER] Add missing nullptr check from refactoring, improve locking | Simon Rettberg | 2015-12-07 | 1 | -9/+11 |
| | |||||
* | [SERVER] Update includes for moved log.h | Simon Rettberg | 2015-12-02 | 10 | -11/+11 |
| |