Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SERVER] Add bgrMinClients: Thresold to control when BGR starts | Simon Rettberg | 2018-04-12 | 1 | -3/+6 |
| | | | | | Background replication will not kick in if there aren't at least that many clients connected. | ||||
* | [SERVER] More error handling and logging when caching received data to disk | Simon Rettberg | 2018-04-10 | 1 | -4/+13 |
| | |||||
* | [SERVER] Experimental support for sparse files in proxy mode | Simon Rettberg | 2018-03-15 | 1 | -1/+10 |
| | | | | | | | | | | | | Will not preallocate images in this mode. Old images are only deleted if the disk is full, determined by write() calls to the cache file yielding ENOSPC or EDQUOT. In such a case, the least recently used image(s) will be deleted to free up at least 256MiB, and then the write() call will be repeated. This *should* work somewhat reliably unless the cache partition is ridiculously small. Performance might suffer a little, and disk fragmentation might occur much faster than in prealloc mode. Testing is needed. | ||||
* | [SERVER] altservers: Short timeout during RTT measurement, round request range | Simon Rettberg | 2017-11-08 | 1 | -4/+7 |
| | | | | | Rounding to 4k so caching works efficiently This should now close #3231 | ||||
* | [SERVER] Add multiple config options for limiting stuff | Simon Rettberg | 2017-11-08 | 1 | -2/+2 |
| | | | | | maxClients, maxImages, maxPayload, maxReplicationSize Refs #3231 | ||||
* | [SERVER] Use multiConnect() to find uplink for replication | Simon Rettberg | 2017-11-07 | 1 | -1/+1 |
| | | | | | Just as in the fuse client, this will speed things up if we have several alt-servers in our list which are not reachable. | ||||
* | [SERVER] uplink: Fix updating of global byte counter, fix incremental updates | Simon Rettberg | 2017-10-25 | 1 | -2/+7 |
| | | | | | Incremental updating of the global byte counter would only work when background replication is disabled. Fix this. | ||||
* | [SERVER] Improve handling of byte stats counters | Simon Rettberg | 2017-10-25 | 1 | -4/+13 |
| | | | | Less writes to variables, more up-to-date values for uplinks. | ||||
* | [SERVER] Get rid of zlib dependency | Simon Rettberg | 2017-10-24 | 1 | -3/+3 |
| | | | | | | 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 Rettberg | 2017-10-24 | 1 | -5/+5 |
| | | | | conversion problems | ||||
* | [SERVER] Use monotonic clock for measuring time | Simon Rettberg | 2017-10-19 | 1 | -16/+20 |
| | | | | | Introduces new shared source unit timing.[ch] Closes #3214 | ||||
* | [SERVER] Try to connect to different server if proxy cycle is detected | Simon Rettberg | 2017-10-17 | 1 | -2/+15 |
| | |||||
* | [*] Support hop-counting in request header, protocol version 3 | Simon Rettberg | 2017-10-17 | 1 | -13/+34 |
| | | | | | | | | | | | | | | 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] Make crclist handling endian-safe | Simon Rettberg | 2017-04-27 | 1 | -0/+1 |
| | |||||
* | [SERVER] Fix formatting | Simon Rettberg | 2016-03-22 | 1 | -3/+3 |
| | |||||
* | cleanup commits | Sebastian | 2016-02-11 | 1 | -12/+2 |
| | |||||
* | [SHARED] signal.h -> fdsignal.h | Simon Rettberg | 2016-02-10 | 1 | -1/+1 |
| | |||||
* | First steps in make signals more abstract from the underlying mechanism; ↵ | Simon Rettberg | 2016-02-05 | 1 | -73/+48 |
| | | | | | | | | | | 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 | 1 | -9/+9 |
| | | | | | | | | | | 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 | 1 | -10/+28 |
| | |||||
* | [SERVER] Performance: Optimized some functions (gprof) | Simon Rettberg | 2015-12-17 | 1 | -11/+17 |
| | | | | | | | 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 | 1 | -8/+6 |
| | |||||
* | [SERVER] More fine grained locking for RPC; better error logging | Simon Rettberg | 2015-12-16 | 1 | -3/+11 |
| | |||||
* | [SERVER] Remove non-working images from list, plus refactoring | Simon Rettberg | 2015-12-15 | 1 | -6/+12 |
| | | | | | | | | | | 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] Support looking on disk if an unknown image is requested | Simon Rettberg | 2015-12-12 | 1 | -4/+4 |
| | |||||
* | [SERVER] Nullpad images virtually at runtime instead of padding the actual file | Simon Rettberg | 2015-12-10 | 1 | -5/+5 |
| | |||||
* | [SERVER] Update includes for moved log.h | Simon Rettberg | 2015-12-02 | 1 | -1/+1 |
| | |||||
* | [FUSE] Mid-refactoring, does not compile | Simon Rettberg | 2015-11-24 | 1 | -1/+1 |
| | |||||
* | [FUSE] Start refactoring so we can handle multithread fuse | Simon Rettberg | 2015-11-21 | 1 | -2/+2 |
| | |||||
* | [SERVER] Fix integer overflow of global bytesReceived getter | Simon Rettberg | 2015-05-13 | 1 | -1/+1 |
| | |||||
* | [Server] Added statistics of images and uptime to json. | Stephan Schwaer | 2015-05-05 | 1 | -9/+3 |
| | |||||
* | Removed dnbd3_printClients, added clients to statistics json in rpc. | Stephan Schwaer | 2015-05-04 | 1 | -3/+17 |
| | |||||
* | [SERVER] Added counters for received and sent bytes. | Stephan Schwaer | 2015-04-27 | 1 | -1/+18 |
| | |||||
* | [FUSE] Integrate into cmake build process | Simon Rettberg | 2015-04-24 | 1 | -1/+1 |
| | |||||
* | [SERVER] printf -> logadd, make USR2 trigger a log cycle, remove old fake ↵ | Simon Rettberg | 2015-02-23 | 1 | -3/+3 |
| | | | | delay feature | ||||
* | [SERVER] Overhauled logging | Simon Rettberg | 2015-02-22 | 1 | -32/+32 |
| | | | | | | - Added message type parameter - Log to file and stdout, no more logging in memory - Added options to server.conf to filter which messages show up where | ||||
* | Get rid of unneccessary volatile | Simon Rettberg | 2015-02-22 | 1 | -7/+28 |
| | | | | Some minor debugging code, mostly commented out | ||||
* | [SERVER] Fix two minor bugs: Replication stall, integrity checker 100% CPU usage | Simon Rettberg | 2015-02-04 | 1 | -1/+1 |
| | |||||
* | [SERVER] Implement proper keep alive for uplinks | Simon Rettberg | 2015-01-28 | 1 | -17/+16 |
| | |||||
* | [SERVER] Also fix fd leak if uplink_init fails | Simon Rettberg | 2015-01-27 | 1 | -0/+1 |
| | |||||
* | [SERVER] Fix automatic proxying to use supplied connection; fix race ↵ | Simon Rettberg | 2015-01-27 | 1 | -18/+26 |
| | | | | condition in uplink_init | ||||
* | [SERVER] Crank up warning levels of gcc and fix them all (mostly sign ↵ | Simon Rettberg | 2015-01-14 | 1 | -2/+2 |
| | | | | | | | 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. | ||||
* | [SERVER] Fix stupid bug (not using errno) | Simon Rettberg | 2015-01-13 | 1 | -1/+1 |
| | |||||
* | [SERVER] Refactoring, extending protocol.h | Simon Rettberg | 2015-01-09 | 1 | -22/+13 |
| | |||||
* | [SERVER] Big code cleanup, refactoring, minor bugfixing | Simon Rettberg | 2015-01-06 | 1 | -8/+7 |
| | |||||
* | [SERVER] Dead code removal, minor performance tweaks, refactoring, etc. | Simon Rettberg | 2015-01-02 | 1 | -18/+9 |
| | |||||
* | [SERVER] Use stdbool.h for booleans; minor refactoring of variable and ↵ | Simon Rettberg | 2014-12-31 | 1 | -39/+34 |
| | | | | function names | ||||
* | [SERVER] Create compilation unit for wait/signalling logic (using eventfd) | Simon Rettberg | 2014-12-31 | 1 | -26/+14 |
| | |||||
* | [SERVER] Add setting to enable/disable background replication, add comments ↵ | Simon Rettberg | 2014-12-29 | 1 | -4/+12 |
| | | | | to config and code | ||||
* | [SERVER] Improve replication and reconnecting behaviour | Simon Rettberg | 2014-12-22 | 1 | -27/+29 |
| |