summaryrefslogtreecommitdiffstats
path: root/src/server
Commit message (Collapse)AuthorAgeFilesLines
* [SERVER] Check if iSCSI server is enabled, check opcodeSimon Rettberg2025-12-093-12/+16
|
* [SERVER] iscsi: use sendfile()Simon Rettberg2025-12-094-151/+105Star
|
* [SERVER] iscsi refactor: First working versionSimon Rettberg2025-12-099-18065/+2732Star
| | | | | | | | | Work towards simplifying the iscsi implementation has begun. Goals are: - Simpler and easier to understand resource/lifecycle management of allocations - Single-threaded architecture, making locking unnecessary - Moving as many allocations as possible to the stack - Making the call-stack more shallow for easier tracking of code flow
* [SERVER] iscsi: Implement relaying requests to uplink serversSimon Rettberg2025-12-092-26/+97
|
* [SERVER] iscsi: Hook into net.c, text response handling, more features:Sebastian Vater2025-12-098-2256/+15641
| | | | | | | | | | | | | | | - R2T handling - Portal groups - Fixes to login phase handling - Code refactoring - Remove obsolete PDU fields - SCSI INQUIRY handler - Persistent Reservation support - Implement SCSI block based operations - Implement other needed SCSI ops - Disks are now reported as read-only - Doxygen tags - Bugfixes for crashes, memleaks, etc.
* [SERVER] iscsi: Finish login handling, add NOP-In/Out handlingSebastian Vater2025-12-092-261/+1448
| | | | Also a couple bug fixes and other minor improvements
* [SERVER] iscsi: Implement receive loop, add a lot of new iSCSI structuresSebastian Vater2025-12-092-120/+3956
| | | | | - globals, portal groups, portals, ports, etc. - Finally, fixed some bugs.
* [SERVER] iscsi: Add a lot of Doxygen comments, some general additionsSebastian Vater2025-12-092-2672/+5479
|
* doxygen: Add initial config and gitlab runner jobSimon Rettberg2025-12-092-2/+199
|
* [SERVER] iscsi: Initial commit, WIPSebastian Vater2025-12-093-0/+4589
|
* [SERVER] Verify checksums of all images on SIGUSR1Simon 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
|
* [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
|
* [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.
* [BUILD] Add check for stdatomic.h supportManuel Bentele2021-06-161-0/+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-201-0/+1
|
* [KERNEL] Removes duplicate word 'of' in license headersManuel Bentele2021-04-164-4/+4
|
* [SERVER] Mark uplink requests with BGR/prefetch flags and handle themSimon Rettberg2021-04-141-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 synchronousSimon Rettberg2021-04-143-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 warningSimon Rettberg2021-03-221-1/+1
|
* [BUILD] Build picohttpparser as independent libraryManuel Bentele2021-03-113-15/+15
|
* [BUILD] Disable lint/formatting for non-kernel for nowSimon Rettberg2021-03-051-0/+12
|
* [BUILD] Add support in CMake to validate (lint) the source codeManuel Bentele2021-03-041-17/+40
|
* [BUILD] Include branch and build timestamp in binariesSimon Rettberg2020-12-022-4/+6
|
* [SERVER] replaced non-existent FUSE define to match CMake's build definesManuel Bentele2020-11-271-3/+3
|
* [SERVER] Fix warningsSimon Rettberg2020-11-234-7/+9
|
* [BUILD] update search paths for 'libatomic' to support build on FreeBSDManuel Bentele2020-11-231-1/+1
|
* [BUILD] add CMake find package search to find 'libatomic' automaticallyManuel Bentele2020-11-231-0/+3
|
* [BUILD] add support for atomic operations not supported by hardwareManuel Bentele2020-11-201-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 codeSimon Rettberg2020-11-131-5/+7
|
* cmake: Fix passing -Defines to ccSimon Rettberg2020-11-131-3/+3
|
* [BUILD] add build options to enable/disable build of dnbd3 componentsManuel Bentele2020-10-301-0/+1
|
* [SERVER] Update nextSave timestamp at start of functionSimon Rettberg2020-10-291-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++ compilerManuel Bentele2020-10-271-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 CPackManuel Bentele2020-10-223-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 supportManuel Bentele2020-10-202-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 dirtyManuel Bentele2020-10-193-10/+7Star
|
* [BUILD] rewrite CMake build system to track changes of source filesManuel Bentele2020-10-1618-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 newerSimon Rettberg2020-08-141-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 theadsSimon Rettberg2020-07-311-0/+2
|
* [SERVER] FUSE: Use splice with move for local readsSimon Rettberg2020-07-311-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 fuseSimon Rettberg2020-07-302-2/+3
|
* [SERVER] Remove dead codeSimon Rettberg2020-07-301-6/+0Star
|
* [SERVER] Fix: Missing argument to fprintf()Simon Rettberg2020-07-301-1/+1
|
* [SERVER] Inline imageLookup/Open since we use fuse_mtSimon Rettberg2020-07-301-56/+34Star
|