summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup FindKernel cmake macros, add more error checksSimon Rettberg2023-06-072-8/+17
|
* [KERNEL] Add Rocky 9 supportSimon Rettberg2023-06-072-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 listSimon Rettberg2023-02-141-1/+1
|
* [FUSE] Make initial connect entirely parallel wrt serversSimon Rettberg2023-02-121-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-terminateSimon Rettberg2023-02-121-1/+4
|
* [FUSE] Fix AIOOB accessSimon Rettberg2023-02-121-2/+1Star
|
* [KERNEL] Rename logigng macros, change debug level of a few messagesSimon Rettberg2023-02-061-21/+25
|
* github: Build against Linux 6.1Simon Rettberg2023-01-161-0/+4
|
* [KERNEL] Actually fix build on 6.0+Simon Rettberg2023-01-111-5/+5
|
* [KERNEL] Update for Linux 6.1Simon Rettberg2023-01-092-7/+25
|
* Fix linter issues to satisfy Linux kernel code styleManuel Bentele2022-10-052-8/+11
|
* [SERVER] Don't establish uplink when loading image on startupSimon Rettberg2022-09-131-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.18Simon Rettberg2022-06-143-2/+15
|
* Update READMESimon Rettberg2022-05-201-40/+4Star
| | | | Unify copy & pasted RedHat 8-like sections, tweak introduction.
* [FUSE] Adapt to changed macro namesSimon Rettberg2022-05-201-4/+4
|
* [KERNEL] IOCTL_SWITCH: Always boost/fake RTT valuesSimon Rettberg2022-03-241-17/+17
| | | | Even if we didn't switch because we already use the requested server.
* [KERNEL] Fix possible stall when switching serverSimon Rettberg2022-03-041-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 Rettberg2022-02-231-2/+2
|
* [KERNEL] Refactor to use workqueues and blk-mq onlySimon Rettberg2022-02-1811-1172/+918Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.xSimon Rettberg2022-02-112-1/+3
|
* [CMAKE] Fix finding kernel include dir on DebianSimon Rettberg2022-02-091-0/+1
|
* [DOC] README: Make it clear that dnbd3 is read onlySimon Rettberg2022-02-091-1/+1
|
* [KERNEL] Add support for CentOS 8.5Manuel Bentele2021-11-301-3/+8
|
* [BUILD] Fix versioning format for Docker tagsManuel Bentele2021-11-303-4/+6
|
* [KERNEL] Add support for Linux kernel 5.15.x LTSManuel Bentele2021-11-304-6/+46
|
* [BUILD] Fix issue in CMake kernel header checkManuel Bentele2021-11-301-3/+4
|
* [KERNEL] Fix wurstfingered missing ;Simon Rettberg2021-11-081-1/+1
|
* [KERNEL] Explicitly pass proper addrlen on connect; improve debug logSimon Rettberg2021-11-081-3/+7
|
* [KERNEL] Don't log connect failures as errors for RTT checksSimon Rettberg2021-10-191-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 emptySimon Rettberg2021-10-191-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.1Manuel Bentele2021-08-261-1/+2
|
* [BUILD] Build release on Ubuntu 18.04 to support older glibcManuel Bentele2021-08-261-1/+1
|
* [BUILD] Read version from lightweight (non-annotated) tags, tooManuel Bentele2021-08-251-1/+1
|
* [BUILD] Add Github action to publish packages for releasesManuel Bentele2021-08-254-3/+63
|
* [BUILD] Fix CMake output if kernel module is turned off on Linux systemManuel Bentele2021-08-251-6/+9
|
* [SERVER] Make default config a bit more readableSteffen Ritter2021-08-243-4/+24
|
* [BUILD] Add Github actions to compile kernel module for various kernelsManuel Bentele2021-07-262-1/+83
|
* [BUILD] Add CMake option to enable build of dnbd3-benchManuel Bentele2021-06-245-2/+8
|
* [BUILD] Add support for RockyLinux 8Manuel Bentele2021-06-221-0/+21
|
* [BUILD] Add check for stdatomic.h supportManuel Bentele2021-06-164-0/+23
|
* [KERNEL] Add support for Linux kernels without blk-mq (e.g. CentOS 7)Manuel Bentele2021-06-165-20/+259
|
* server.conf: Update uplinkTimeout to match default valuev3.10Simon Rettberg2021-05-111-1/+1
|
* [SERVER] Add minRequestSize: Enlarge relayed requestsSimon Rettberg2021-05-113-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 UBSimon Rettberg2021-05-111-1/+1
|
* [SERVER] Honor uplinkTimeout directly when connecting to alt-serverSimon Rettberg2021-05-102-5/+3Star
|
* [KERNEL] Improve debug output in net.cSimon Rettberg2021-04-203-7/+13
|
* [KERNEL] Even more RTT fakery on manual server switchSimon Rettberg2021-04-201-5/+12
|
* [KERNEL] Clean alt-server list first when connectingSimon Rettberg2021-04-161-11/+8Star
| | | | | | | When establishing a new connection on a disconnected device, the old list of alt-servers was retained. This would lead to us connecting to the wrong server, as the number of newly passed servers was used when looping over the list of alt-servers to actually connect.
* [KERNEL] Fix Linter errorsManuel Bentele2021-04-162-3/+5
|
* [KERNEL] Removes duplicate word 'of' in license headersManuel Bentele2021-04-1619-19/+19
|