Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | github: Update 4.19 build env to Ubuntu 20.04 | Simon Rettberg | 2023-06-12 | 1 | -1/+1 | |
| | ||||||
* | cmake: Make missing Module.symvers a warning | Simon Rettberg | 2023-06-09 | 1 | -1/+3 | |
| | | | | | | | Since on github, we just compile against downloaded sources without having a matching built kernel, a missing Module.symvers breaks the action. While the resulting built kernel module might not be of much use, all we want to know is whether it compiles. | |||||
* | Update README.md | Simon Rettberg | 2023-06-09 | 1 | -3/+3 | |
| | ||||||
* | Cleanup FindKernel cmake macros, add more error checks | Simon Rettberg | 2023-06-07 | 2 | -8/+17 | |
| | ||||||
* | [KERNEL] Add Rocky 9 support | Simon Rettberg | 2023-06-07 | 2 | -8/+20 | |
| | | | | | Co-authored-by: Jonathan Bauer <jonathan.bauer@rz.uni-freiburg.de> Co-authored-by: Manuel Messner <mm@skelett.io> | |||||
* | [FUSE] Fix termination condition for reading host list | Simon Rettberg | 2023-02-14 | 1 | -1/+1 | |
| | ||||||
* | [FUSE] Make initial connect entirely parallel wrt servers | Simon Rettberg | 2023-02-12 | 1 | -111/+232 | |
| | | | | | | | | | | | | Previously, we only did the actual socket connect in a concurrent matter. Once a connection was successfully established, we did a blocking handshake on the protocol level. If the server war particularly slow, this was bad as we would not try other servers until after this. Throw out the previous non-blocking async connect logic, switching to a multi-threaded approach, that spawns one thread per host/ip, offset by 200ms, until one of the attempts succeeds. | |||||
* | [SHARED] sock_printable: Always null-terminate | Simon Rettberg | 2023-02-12 | 1 | -1/+4 | |
| | ||||||
* | [FUSE] Fix AIOOB access | Simon Rettberg | 2023-02-12 | 1 | -2/+1 | |
| | ||||||
* | [KERNEL] Rename logigng macros, change debug level of a few messages | Simon Rettberg | 2023-02-06 | 1 | -21/+25 | |
| | ||||||
* | github: Build against Linux 6.1 | Simon Rettberg | 2023-01-16 | 1 | -0/+4 | |
| | ||||||
* | [KERNEL] Actually fix build on 6.0+ | Simon Rettberg | 2023-01-11 | 1 | -5/+5 | |
| | ||||||
* | [KERNEL] Update for Linux 6.1 | Simon Rettberg | 2023-01-09 | 2 | -7/+25 | |
| | ||||||
* | Fix linter issues to satisfy Linux kernel code style | Manuel Bentele | 2022-10-05 | 2 | -8/+11 | |
| | ||||||
* | [SERVER] Don't establish uplink when loading image on startup | Simon Rettberg | 2022-09-13 | 1 | -1/+1 | |
| | | | | | | | Bringing up a proxy that has been offline for some time will trigger lots of loads and replication on other proxies when booting up again. Just wait until a client actually needs an image before establishing an uplink connection. | |||||
* | [KERNEL] Adapt to Linux 5.18 | Simon Rettberg | 2022-06-14 | 3 | -2/+15 | |
| | ||||||
* | Update README | Simon Rettberg | 2022-05-20 | 1 | -40/+4 | |
| | | | | Unify copy & pasted RedHat 8-like sections, tweak introduction. | |||||
* | [FUSE] Adapt to changed macro names | Simon Rettberg | 2022-05-20 | 1 | -4/+4 | |
| | ||||||
* | [KERNEL] IOCTL_SWITCH: Always boost/fake RTT values | Simon Rettberg | 2022-03-24 | 1 | -17/+17 | |
| | | | | Even if we didn't switch because we already use the requested server. | |||||
* | [KERNEL] Fix possible stall when switching server | Simon Rettberg | 2022-03-04 | 1 | -1/+9 | |
| | | | | | | | If we switch to a different server when we only have something in the send list but nothing in the recv list, the send worker would not have gotten invoked. Now we unconditionally trigger the send worker when asked to re-queue any pending requests. | |||||
* | [KERNEL] Fix copy&paste error (passing wrong sock) | Simon Rettberg | 2022-02-23 | 1 | -2/+2 | |
| | ||||||
* | [KERNEL] Refactor to use workqueues and blk-mq only | Simon Rettberg | 2022-02-18 | 11 | -1172/+918 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using workqueues frees us from having to manage the lifecycle of three dedicated threads. Discovery (alt server checks) and sending keepalive packets is now done using work on the power efficient system queue. Sending and receiving happens via dedicated work queues with higher priority. blk-mq has also been around for quite a while in the kernel, so switching to it doesn't hurt backwards compatibility. As the code is now refactored to work more as blk-mq is designed, backwards compatibility even improved while at the same time freeing us from an arsenal of macros that were required to make the blk-mq port look and feel like the old implementation. For example, the code now compiles on CentOS 7 with kernel 3.10 without requiring special macros to detect the heavily modified RedHat kernel with all its backported features. A few other design limitations have been rectified along the way, e.g. switching to another server now doesn't internally disconnect from the current one first, which theoretically could lead to a non-working setup, if the new server isn't reachable and then - because of some transient network error - switching back also fails. As the discover-thread was torn down from the disconnect call, the connection would also not repair itself eventually. we now establish the new connection in parallel to the old one, and only if that succeeds do we replace the old one with it, similar to how the automatic alt-server switch already does it. | |||||
* | [KERNEL] Add missing include to fix compile on 4.14.x | Simon Rettberg | 2022-02-11 | 2 | -1/+3 | |
| | ||||||
* | [CMAKE] Fix finding kernel include dir on Debian | Simon Rettberg | 2022-02-09 | 1 | -0/+1 | |
| | ||||||
* | [DOC] README: Make it clear that dnbd3 is read only | Simon Rettberg | 2022-02-09 | 1 | -1/+1 | |
| | ||||||
* | [KERNEL] Add support for CentOS 8.5 | Manuel Bentele | 2021-11-30 | 1 | -3/+8 | |
| | ||||||
* | [BUILD] Fix versioning format for Docker tags | Manuel Bentele | 2021-11-30 | 3 | -4/+6 | |
| | ||||||
* | [KERNEL] Add support for Linux kernel 5.15.x LTS | Manuel Bentele | 2021-11-30 | 4 | -6/+46 | |
| | ||||||
* | [BUILD] Fix issue in CMake kernel header check | Manuel Bentele | 2021-11-30 | 1 | -3/+4 | |
| | ||||||
* | [KERNEL] Fix wurstfingered missing ; | Simon Rettberg | 2021-11-08 | 1 | -1/+1 | |
| | ||||||
* | [KERNEL] Explicitly pass proper addrlen on connect; improve debug log | Simon Rettberg | 2021-11-08 | 1 | -3/+7 | |
| | ||||||
* | [KERNEL] Don't log connect failures as errors for RTT checks | Simon Rettberg | 2021-10-19 | 1 | -16/+24 | |
| | | | | | | | This spams scary red errors to dmesg when really an unreachable alt server isn't that much of a deal during normal operation. Change the log level to debug instead. Might even consider not printing anything at all. | |||||
* | [BUILD] CheckPatch: Quote variable to avoid error if empty | Simon Rettberg | 2021-10-19 | 1 | -1/+1 | |
| | | | | | | | | | | The variable is most likely empty if the according kernel headers directory was deleted. However, as it currently stands, cmake is complaining about too few arguments, which isn't really helpful to the user. Instead, quote the variable to make cmake finish, and have the actual compile process of the kernel module fail, which will yield a much more helpful error message. | |||||
* | [BUILD] Change CMake search for the existence of Linux headersv3.10.1 | Manuel Bentele | 2021-08-26 | 1 | -1/+2 | |
| | ||||||
* | [BUILD] Build release on Ubuntu 18.04 to support older glibc | Manuel Bentele | 2021-08-26 | 1 | -1/+1 | |
| | ||||||
* | [BUILD] Read version from lightweight (non-annotated) tags, too | Manuel Bentele | 2021-08-25 | 1 | -1/+1 | |
| | ||||||
* | [BUILD] Add Github action to publish packages for releases | Manuel Bentele | 2021-08-25 | 4 | -3/+63 | |
| | ||||||
* | [BUILD] Fix CMake output if kernel module is turned off on Linux system | Manuel Bentele | 2021-08-25 | 1 | -6/+9 | |
| | ||||||
* | [SERVER] Make default config a bit more readable | Steffen Ritter | 2021-08-24 | 3 | -4/+24 | |
| | ||||||
* | [BUILD] Add Github actions to compile kernel module for various kernels | Manuel Bentele | 2021-07-26 | 2 | -1/+83 | |
| | ||||||
* | [BUILD] Add CMake option to enable build of dnbd3-bench | Manuel Bentele | 2021-06-24 | 5 | -2/+8 | |
| | ||||||
* | [BUILD] Add support for RockyLinux 8 | Manuel Bentele | 2021-06-22 | 1 | -0/+21 | |
| | ||||||
* | [BUILD] Add check for stdatomic.h support | Manuel Bentele | 2021-06-16 | 4 | -0/+23 | |
| | ||||||
* | [KERNEL] Add support for Linux kernels without blk-mq (e.g. CentOS 7) | Manuel Bentele | 2021-06-16 | 5 | -20/+259 | |
| | ||||||
* | server.conf: Update uplinkTimeout to match default valuev3.10 | Simon Rettberg | 2021-05-11 | 1 | -1/+1 | |
| | ||||||
* | [SERVER] Add minRequestSize: Enlarge relayed requests | Simon Rettberg | 2021-05-11 | 3 | -16/+48 | |
| | | | | | | | | | | Any request from a client being relayed to an uplink server will have its size extended to this value. It will also be applied to background replication requests, if the BGR mode is FULL. As request coalescing is currently very primitive, this setting should usually be left diabled, and bgrWindowSize used instead, if appropriate. If you enable this, set it to something large (1M+), or it might have adverse effects. | |||||
* | [SERVER] Fix UB | Simon Rettberg | 2021-05-11 | 1 | -1/+1 | |
| | ||||||
* | [SERVER] Honor uplinkTimeout directly when connecting to alt-server | Simon Rettberg | 2021-05-10 | 2 | -5/+3 | |
| | ||||||
* | [KERNEL] Improve debug output in net.c | Simon Rettberg | 2021-04-20 | 3 | -7/+13 | |
| | ||||||
* | [KERNEL] Even more RTT fakery on manual server switch | Simon Rettberg | 2021-04-20 | 1 | -5/+12 | |
| |