summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [FUSE] cow: stats.txt -> statsHEADmasterSimon Rettberg38 hours3-15/+18
|
* [FUSE] Buffer upload reply contents and conditionally printSimon Rettberg42 hours2-3/+9
|
* github: Need libcurl nowSimon Rettberg3 days3-0/+3
|
* [FUSE] I'M AN IDIOTSimon Rettberg3 days1-1/+1
|
* [FUSE] Fix hang when trying to chmod/chown /img or /statusSimon Rettberg3 days1-1/+3
| | | | No reply was ever given for unhandled requests. Return EACCES.
* [FUSE] Don't exit on SIGQUIT, just stop uploadingSimon Rettberg3 days3-10/+1Star
|
* [FUSE] Fix printf lengthSimon Rettberg3 days1-2/+2
|
* [FUSE] CleanupSimon Rettberg3 days1-7/+6Star
|
* github: cowtest: Write test files to storage at /mntMichael Scherle3 days1-40/+41
| | | | / is mostly full and tests might fail...
* [FUSE] Reset cluster fail counter on successful uploadSimon Rettberg3 days1-0/+1
|
* github: retry apt-get callsSimon Rettberg3 days1-3/+3
| | | | | | | | | | | | | | | | | Run sudo apt-get update -y -qq sudo apt-get update -y -qq sudo apt-get install -y -qq make \ clang-format \ linux-headers-generic \ libfuse-dev \ libjansson-dev \ libcurl4-openssl-dev shell: /usr/bin/bash -e {0} env: ASAN_OPTIONS: leak_check_at_exit=false DOTNET_ROOT: /usr/share/dotnet E: Failed to fetch https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) E: The repository 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' is no longer signed.
* [FUSE] Fix race conditionSimon Rettberg3 days1-1/+5
|
* [FUSE] Fix uninitialized speed bufferSimon Rettberg3 days1-1/+1
|
* github: Use bash redirects for stdout+errSimon Rettberg3 days1-8/+8
|
* github: Enable address sanitizerSimon Rettberg3 days1-0/+3
|
* [FUSE] Fix check for failed statsfile writeSimon Rettberg3 days1-1/+1
|
* [FUSE] Fix division by zeroSimon Rettberg3 days1-1/+1
|
* [FUSE] Fix use-after-free of curl_slist; unify init codeSimon Rettberg3 days1-31/+38
|
* github: update fuse testsMichael Scherle3 days1-46/+33Star
|
* [FUSE] Move curl reset to start of functionSimon Rettberg3 days1-2/+1Star
|
* [FUSE] Rename version -> revision in /createSimon Rettberg3 days2-54/+59
| | | | Also turn into normal POST with urlencoded payload.
* [FUSE] Use CURLOPT_HEADERFUNCTION instead of curl_easy_headerSimon Rettberg3 days2-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 Rettberg3 days7-289/+396
| | | | | | | | - 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 Rettberg3 days2-13/+19
| | | | | Add a version to the URL, rest can be configured dynamically by -C as it's a simple prefix.
* github: Update cow testSimon Rettberg3 days1-4/+4
|
* [FUSE] cow: More fixes and refactoringSimon Rettberg3 days6-490/+560
| | | | | | | | | | | | | | 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 Rettberg3 days8-412/+495
| | | | | | | | | - 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 Scherle3 days6-21/+19Star
|
* github: removed rpm from test workflowMichael Scherle3 days1-2/+1Star
|
* [COWTEST] improvements to cowtest readmeMichael Scherle3 days3-118/+250
|
* github: changed test to use net 6Michael Scherle3 days1-2/+5
|
* [COWTEST] random test now cancels on ctrl-cMichael Scherle3 days2-57/+94
|
* [FUSE] added pthread creation error messageMichael Scherle3 days1-2/+2
|
* added github ci for fuse with cowMichael Scherle3 days3-6/+131
|
* [FUSE] basic cow implementation & rudimentary testsMichael Scherle3 days17-70/+3607
|
* [KERNEL] Fix build on 5.15 kernels >= 5.15.132Simon 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
|