Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SERVER] Log errno if opening image file fails | Simon Rettberg | 2023-06-30 | 1 | -3/+5 |
| | |||||
* | [SERVER] Threadpool: Add active thread count to error message | Simon Rettberg | 2023-06-14 | 1 | -1/+1 |
| | |||||
* | [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. | ||||
* | [BUILD] Add check for stdatomic.h support | Manuel Bentele | 2021-06-16 | 1 | -0/+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 | 1 | -0/+1 |
| | |||||
* | [KERNEL] Removes duplicate word 'of' in license headers | Manuel Bentele | 2021-04-16 | 4 | -4/+4 |
| | |||||
* | [SERVER] Mark uplink requests with BGR/prefetch flags and handle them | Simon Rettberg | 2021-04-14 | 1 | -5/+20 |
| | | | | | | | | | Incoming requests from clients might actually be prefetch jobs from another downstream proxy. Don't do prefetching for those, as this would cascade upwars in the proxy chain (prefetch for a prefetch of a prefetch) Incoming requests might also be background replication. Don't relay those if we're not configured for background replication as well. | ||||
* | [SERVER] Make prefetching synchronous | Simon Rettberg | 2021-04-14 | 3 | -168/+226 |
| | | | | | | | | | There is a race condition where we process the next request from the same client faster than the OS will schedule the async prefetch job, rendering it a NOOP in the best case (request ranges match) or fetching redundant data from the upstream server (prefetch range is larger than actual request by client). Make prefetching synchronous to prevent this race condition. | ||||
* | [SERVER] Fix compiler warning | Simon Rettberg | 2021-03-22 | 1 | -1/+1 |
| | |||||
* | [BUILD] Build picohttpparser as independent library | Manuel Bentele | 2021-03-11 | 3 | -15/+15 |
| | |||||
* | [BUILD] Disable lint/formatting for non-kernel for now | Simon Rettberg | 2021-03-05 | 1 | -0/+12 |
| | |||||
* | [BUILD] Add support in CMake to validate (lint) the source code | Manuel Bentele | 2021-03-04 | 1 | -17/+40 |
| | |||||
* | [BUILD] Include branch and build timestamp in binaries | Simon Rettberg | 2020-12-02 | 2 | -4/+6 |
| | |||||
* | [SERVER] replaced non-existent FUSE define to match CMake's build defines | Manuel Bentele | 2020-11-27 | 1 | -3/+3 |
| | |||||
* | [SERVER] Fix warnings | Simon Rettberg | 2020-11-23 | 4 | -7/+9 |
| | |||||
* | [BUILD] update search paths for 'libatomic' to support build on FreeBSD | Manuel Bentele | 2020-11-23 | 1 | -1/+1 |
| | |||||
* | [BUILD] add CMake find package search to find 'libatomic' automatically | Manuel Bentele | 2020-11-23 | 1 | -0/+3 |
| | |||||
* | [BUILD] add support for atomic operations not supported by hardware | Manuel Bentele | 2020-11-20 | 1 | -1/+1 |
| | | | | | | | | | | | | | | This change links the dnbd3-server with 'libatomic' to add support for atomic operations not supported by hardware (especially 32-bit hardware architectures, such as ARM). Thus the dnbd3-server can also run on a Raspberry Pi 1 running Rasperry Pi OS. Note that the dnbd3-server is still linked to the libatomic, even if the hardware supports atomic operations. In this case, the compiler resolves atomic operations and replaces them automatically with specific built-in functions. This unnecessary linkage can be removed in the future if the GCC supports an upcoming option called automatic linking of libatomic (--enable-autolink-libatomic). | ||||
* | [SERVER] Fix log calls in thread debug code | Simon Rettberg | 2020-11-13 | 1 | -5/+7 |
| | |||||
* | cmake: Fix passing -Defines to cc | Simon Rettberg | 2020-11-13 | 1 | -3/+3 |
| | |||||
* | [BUILD] add build options to enable/disable build of dnbd3 components | Manuel Bentele | 2020-10-30 | 1 | -0/+1 |
| | |||||
* | [SERVER] Update nextSave timestamp at start of function | Simon Rettberg | 2020-10-29 | 1 | -4/+6 |
| | | | | | | | | | saveLoadAllCacheMaps() is called frequently, and a 'full' run can take some time. If we only update the nextSave timestamp when we're done, we might already have a concurrent call to the function, which will also do a 'full' run, since the timestamp is not updated yet. This doesn't break anything, but leads to even more disk activity, which is probably already high, given that the previous run is not done yet. | ||||
* | [BUILD] remove the build requirement for an unused C++ compiler | Manuel Bentele | 2020-10-27 | 1 | -1/+2 |
| | | | | | This patch sets the programming languages of each CMake project to C. With this change, CMake does not search for an unused C++ compiler anymore. | ||||
* | [BUILD] add CMake targets to build binary and source packages with CPack | Manuel Bentele | 2020-10-22 | 3 | -8/+11 |
| | | | | | | | | | | | This patch adds the following CMake targets - package - source to build bundeled packages. Those packages contain either all built binary artifacts or all source files for source code distribution. Both CMake targets are available in Release build configuration. | ||||
* | [BUILD] add option to build the dnbd3-server with afl-fuzz support | Manuel Bentele | 2020-10-20 | 2 | -5/+30 |
| | | | | | The afl-fuzz support for the dnbd3-server requires an AFL C compiler like afl-gcc and can be enabled with the CMake option DNBD3_SERVER_AFL. | ||||
* | [BUILD] set build type and stop Release build if repository is dirty | Manuel Bentele | 2020-10-19 | 3 | -10/+7 |
| | |||||
* | [BUILD] rewrite CMake build system to track changes of source files | Manuel Bentele | 2020-10-16 | 18 | -63/+124 |
| | | | | | | | | | | This change restructures the source code directories, separates shared form non-shared application code and adds CMake dependencies. These dependencies allow the tracking of changes and trigger a rebuild of those build targets where changed files are involved. WARNING: Note that the support of the DNBD3_SERVER_AFL build option is not supported yet. Thus, the option should be never turned on. | ||||
* | [SERVER] Fix rid 0 proxy lookup if local version is newer | Simon Rettberg | 2020-08-14 | 1 | -5/+15 |
| | | | | | There was a logic bug that would favor a remotely looked up image rid, even if we already found a higher revision locally. | ||||
* | [SERVER] FUSE: Set name for fuse theads | Simon Rettberg | 2020-07-31 | 1 | -0/+2 |
| | |||||
* | [SERVER] FUSE: Use splice with move for local reads | Simon Rettberg | 2020-07-31 | 1 | -2/+16 |
| | | | | | | Greatly improves performance when reading from the local disk cache, and additionally avoids having everything in the fs cache twice (disk view and fuse view). | ||||
* | [SERVER] FUSE: Fix arguments to fuse | Simon Rettberg | 2020-07-30 | 2 | -2/+3 |
| | |||||
* | [SERVER] Remove dead code | Simon Rettberg | 2020-07-30 | 1 | -6/+0 |
| | |||||
* | [SERVER] Fix: Missing argument to fprintf() | Simon Rettberg | 2020-07-30 | 1 | -1/+1 |
| | |||||
* | [SERVER] Inline imageLookup/Open since we use fuse_mt | Simon Rettberg | 2020-07-30 | 1 | -56/+34 |
| | |||||
* | [SERVER] FUSE: Add readdir for / | Simon Rettberg | 2020-07-30 | 1 | -1/+40 |
| | |||||
* | [SERVER] Add FUSE mode | Simon Rettberg | 2020-07-28 | 11 | -102/+781 |
| | | | | | Still needs some cleanup and optimizations, variable naming sucks, comments, etc. | ||||
* | [SERVER] Fix: NULL pointer access in saveLoadAllCacheMaps() | Simon Rettberg | 2020-07-21 | 1 | -0/+2 |
| | | | | Entries in _images array might ne NULL | ||||
* | [SERVER] Fix: No replication if autoFreeDiskSpaceDelay is disabled | Simon Rettberg | 2020-06-30 | 1 | -4/+12 |
| | |||||
* | [SERVER] Know when to stop | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Likewise, flush entire payload on RTT measurement | Simon Rettberg | 2020-06-10 | 1 | -1/+6 |
| | |||||
* | [SERVER] Fix list walk when removing client from uplink | Simon Rettberg | 2020-06-10 | 1 | -1/+3 |
| | |||||
* | [SERVER] fix uninitialized variable | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Fix check for RTT block reply size | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Check local and remote for updates on rid == 0 | Simon Rettberg | 2020-03-31 | 1 | -4/+8 |
| | |||||
* | [SERVER] Make lock/thread debugging dedicated cmake option | Simon Rettberg | 2020-03-23 | 2 | -2/+2 |
| | |||||
* | [SERVER] image_ensureDiskSpace should only deletes proxied images | Simon Rettberg | 2020-03-20 | 1 | -18/+19 |
| | |||||
* | [SERVER] Remember atime in .meta file | Simon Rettberg | 2020-03-20 | 3 | -62/+139 |
| |