Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [FUSE] Wait a little longer before switching via new approach | Simon Rettberg | 2016-03-23 | 1 | -8/+8 |
| | |||||
* | [FUSE] Add new load balancing mechanism | Simon Rettberg | 2016-03-23 | 1 | -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 formatting | Simon Rettberg | 2016-03-22 | 9 | -57/+58 |
| | |||||
* | [SERVER] (FreeBSD) Unlock send mutex on sendfile error | Simon Rettberg | 2016-03-22 | 1 | -0/+1 |
| | |||||
* | compile dnbd3-fuse on FreeBSD without warning :) | Sebastian | 2016-02-11 | 2 | -2/+4 |
| | |||||
* | remove kernel build breaking include | Sebastian | 2016-02-11 | 1 | -1/+0 |
| | |||||
* | running FreeBSD sendfile | Sebastian | 2016-02-11 | 1 | -13/+36 |
| | |||||
* | dnbd3server build success on freebsd :) | Sebastian | 2016-02-11 | 9 | -30/+77 |
| | |||||
* | cleanup commits | Sebastian | 2016-02-11 | 25 | -145/+47 |
| | |||||
* | [SHARED] signal.h -> fdsignal.h | Simon Rettberg | 2016-02-10 | 14 | -15/+15 |
| | |||||
* | dfskljgdslkfsdklgj | Simon Rettberg | 2016-02-05 | 1 | -3/+3 |
| | |||||
* | [SHARED] Fix linux detection on clang | Simon Rettberg | 2016-02-05 | 1 | -4/+4 |
| | |||||
* | [SHARED] Implement pipe() based signalling | Simon Rettberg | 2016-02-05 | 4 | -71/+261 |
| | |||||
* | First steps in make signals more abstract from the underlying mechanism; ↵ | Simon Rettberg | 2016-02-05 | 10 | -129/+136 |
| | | | | | | | | | | 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 | 9 | -54/+41 |
| | | | | | | | | | | 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 | 13 | -94/+163 |
| | |||||
* | [KERNEL/CLIENT] Several minor tweaks and changes | Simon Rettberg | 2016-01-11 | 6 | -17/+20 |
| | | | | | | | | | | - 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 | ||||
* | [FUSE] Handle SIGINT/SIGTERM to abort pending reads | Simon Rettberg | 2015-12-17 | 2 | -1/+35 |
| | | | | | | | | | Before, we would wait endlessly if there is a pending read request that doesn't get answered (e.g. because the server went down. That means you couldn't exit the client in that case. Now we use a signal handler to set a flag which causes the read to bail out and return EIO. | ||||
* | [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 |
| | |||||
* | [FUSE] Fix forking mode (not passing -f) by not spawning threads before ↵ | Simon Rettberg | 2015-12-16 | 3 | -30/+53 |
| | | | | entering fuse_main | ||||
* | [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 | 8 | -134/+318 |
| | | | | | | | | | | 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 |
| | |||||
* | [FUSE] Make valgrind happy by initializing memory and not calling close() on -1 | Simon Rettberg | 2015-12-10 | 1 | -2/+4 |
| | |||||
* | [FUSE] Fix stack overflow caused by stats data | Simon Rettberg | 2015-12-10 | 1 | -3/+5 |
| | |||||
* | [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 |
| | |||||
* | [FUSE] Fix formatting in /status output | Simon Rettberg | 2015-12-07 | 1 | -6/+4 |
| | |||||
* | [FUSE] Fix embarrassing memcpy over two different structs | Simon Rettberg | 2015-12-03 | 1 | -3/+6 |
| | |||||
* | [FUSE] Add --log option | Simon Rettberg | 2015-12-03 | 1 | -12/+29 |
| | |||||
* | [FUSE] Try to get caching right | Simon Rettberg | 2015-12-03 | 1 | -2/+3 |
| | |||||
* | [SERVER] Update includes for moved log.h | Simon Rettberg | 2015-12-02 | 10 | -11/+11 |
| | |||||
* | [FUSE] Add virtual status file | Simon Rettberg | 2015-12-02 | 5 | -16/+140 |
| | |||||
* | [FUSE] Request alt servers from connected server | Simon Rettberg | 2015-12-02 | 2 | -26/+100 |
| | |||||
* | [FUSE] Clean up command line handling | Simon Rettberg | 2015-12-02 | 1 | -37/+93 |
| | |||||
* | [FUSE] Remove debug code that forced server switches all the time | Simon Rettberg | 2015-12-01 | 1 | -2/+1 |
| | |||||
* | [FUSE] Fix losing requests on server change | Simon Rettberg | 2015-12-01 | 2 | -16/+26 |
| | |||||
* | [FUSE] Stability improvements, runs for longer than a couple secs now :) | Simon Rettberg | 2015-12-01 | 4 | -55/+75 |
| | |||||
* | [FUSE] It works! Kinda... | Simon Rettberg | 2015-11-30 | 7 | -206/+226 |
| | |||||
* | [FUSE] Compiles again | Simon Rettberg | 2015-11-30 | 6 | -59/+4 |
| | |||||
* | [FUSE] Mid-refactoring, does not compile | Simon Rettberg | 2015-11-24 | 15 | -86/+360 |
| |