summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [KERNEL] Fix build on 5.15 kernels >= 5.15.132HEADmasterSimon Rettberg2024-03-151-0/+1
|
* cmake: Turn modpost errors into warningsSimon Rettberg2024-03-151-0/+1
| | | | | | | | Default changed some time between 6.1 and 6.6. As we build the module for different kernel versions by fetching the kernel sources and not compiling the whole kernel first, modpost always complains aboit missing symbols after compilation. Ignore this as it's expected to happen.
* github: Update checkout action, base imageSimon Rettberg2024-03-153-16/+16
|
* github: Add more kernels to build matrixSimon Rettberg2024-03-151-22/+42
|
* [KERNEL] Set fake RTT to 500ms on manual server switchSimon Rettberg2024-01-181-2/+2
| | | | | 5ms was apparently way too low and lead to frequent switch-aways from the local dnbd3-server on heavy load during bootup.
* [SERVER] Log errno if opening image file failsSimon Rettberg2023-06-301-3/+5
|
* [SERVER] Threadpool: Add active thread count to error messageSimon Rettberg2023-06-141-1/+1
|
* github: Update 4.19 build env to Ubuntu 20.04Simon Rettberg2023-06-121-1/+1
|
* cmake: Make missing Module.symvers a warningSimon Rettberg2023-06-091-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.mdSimon Rettberg2023-06-091-3/+3
|
* 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
|