summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [SERVER] Verify checksums of all images on SIGUSR1HEADmasterSimon Rettberg2024-07-056-14/+92
|
* [SERVER] integrity: Add comments, line wraps, add check for full scanSimon Rettberg2024-07-041-7/+24
|
* [server] Avoid redefining container_ofSimon Rettberg2024-06-071-0/+2
|
* [FUSE] curl: Handle read callbacks with < 4k buffer sizeSimon Rettberg2024-05-231-2/+12
|
* [FUSE] cow: Fix lowercasing of header fieldSimon Rettberg2024-05-221-1/+1
|
* [KERNEL] Use next pending request for discovery in panic modeSimon Rettberg2024-05-171-13/+33
|
* [KERNEL] Add more debug logging, tweak connect timeoutSimon Rettberg2024-05-171-8/+16
|
* [FUSE] cow: stats.txt -> statsSimon Rettberg2024-05-152-14/+17
|
* [FUSE] Buffer upload reply contents and conditionally printSimon Rettberg2024-05-152-3/+9
|
* [FUSE] I'M AN IDIOTSimon Rettberg2024-05-131-1/+1
|
* [FUSE] Fix hang when trying to chmod/chown /img or /statusSimon Rettberg2024-05-131-1/+3
| | | | No reply was ever given for unhandled requests. Return EACCES.
* [FUSE] Don't exit on SIGQUIT, just stop uploadingSimon Rettberg2024-05-133-10/+1Star
|
* [FUSE] Fix printf lengthSimon Rettberg2024-05-131-2/+2
|
* [FUSE] CleanupSimon Rettberg2024-05-131-7/+6Star
|
* [FUSE] Reset cluster fail counter on successful uploadSimon Rettberg2024-05-131-0/+1
|
* [FUSE] Fix race conditionSimon Rettberg2024-05-131-1/+5
|
* [FUSE] Fix uninitialized speed bufferSimon Rettberg2024-05-131-1/+1
|
* [FUSE] Fix check for failed statsfile writeSimon Rettberg2024-05-131-1/+1
|
* [FUSE] Fix division by zeroSimon Rettberg2024-05-131-1/+1
|
* [FUSE] Fix use-after-free of curl_slist; unify init codeSimon Rettberg2024-05-131-31/+38
|
* [FUSE] Move curl reset to start of functionSimon Rettberg2024-05-131-2/+1Star
|
* [FUSE] Rename version -> revision in /createSimon Rettberg2024-05-132-54/+59
| | | | Also turn into normal POST with urlencoded payload.
* [FUSE] Use CURLOPT_HEADERFUNCTION instead of curl_easy_headerSimon Rettberg2024-05-132-23/+49
| | | | | curl_easy_header was introduced in 7.83, so not even available in Ubuntu 22.04. Switch to manual header parsing.
* [FUSE] More cleanup and minor fixesSimon Rettberg2024-05-136-288/+395
| | | | | | | | - Add support for aborting session and further uploads via SIGQUIT - Make API versioned - Change it to "uuid" everywhere instead of a mix of uuid and guid - Server can now tell us to wait with further uploads - merge request is now urlencoded POST instead of mime data
* [FUSE] Rename COW API endpoints againSimon Rettberg2024-05-131-10/+15
| | | | | Add a version to the URL, rest can be configured dynamically by -C as it's a simple prefix.
* [FUSE] cow: More fixes and refactoringSimon Rettberg2024-05-134-489/+558
| | | | | | | | | | | | | | Don't allocate a data cluster in data file for empty l2 entries when resizing the image file. Calculating l2 offset in metadata file was broken and overlapping l1. Delete unneeded entries from cow struct. Rename a few more variables. Fix a few possible race conditions. Only upload modified blocks from cluster. Simplify cow_write() function by handling misaligned start/end first. Try to also simplify cow_read() a bit. TODO: Documentation, update the cow merger service.
* [FUSE] cow: Cleanup, comments, fixes, minor refactoringSimon Rettberg2024-05-135-396/+474
| | | | | | | | | - Use the term "cluster" for a group of dnbd3-blocks instead of also calling them blocks. - Use term "table" instead of "array" for the L1 and L2 tables. - Use term "index" instead of "offset" when addressing those tables - Fix a few logic bugs, use-after-free - Add TODOs for parts that need better comments
* [FUSE] Fixed cow daemon issueMichael Scherle2024-05-136-21/+19Star
|
* [COWTEST] improvements to cowtest readmeMichael Scherle2024-05-133-118/+250
|
* [COWTEST] random test now cancels on ctrl-cMichael Scherle2024-05-131-40/+33Star
|
* [FUSE] added pthread creation error messageMichael Scherle2024-05-131-2/+2
|
* added github ci for fuse with cowMichael Scherle2024-05-132-6/+17
|
* [FUSE] basic cow implementation & rudimentary testsMichael Scherle2024-05-1314-70/+3589
|
* [KERNEL] Fix build on 5.15 kernels >= 5.15.132Simon Rettberg2024-03-151-0/+1
|
* [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
|
* [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
|
* [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-142-1/+14
|
* [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.