| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [SERVER] iscsi: Fix endianness bugs in ACTION(16) and rotation rate | Simon Rettberg | 2025-12-09 | 1 | -22/+18![]() |
| | | |||||
| * | [SERVER] iscsi: Make kernel fast again | Simon Rettberg | 2025-12-09 | 1 | -7/+22 |
| | | |||||
| * | [SERVER] iscsi: Make iscsi_task stack-allocated | Simon Rettberg | 2025-12-09 | 2 | -91/+25![]() |
| | | | | | Saves another round of malloc/free calls on every request. | ||||
| * | [SERVER] iscsi: Overhaul sending of SCSI response, and DATA-In loop | Simon Rettberg | 2025-12-09 | 2 | -184/+131![]() |
| | | |||||
| * | [SERVER] iscsi: Add bytesSent accounting, set thread name | Simon Rettberg | 2025-12-09 | 1 | -0/+5 |
| | | |||||
| * | [SERVER] iscsi: Minor clang-tidy cleanups (mostly) | Simon Rettberg | 2025-12-09 | 1 | -230/+114![]() |
| | | | | | | | - Remove redundant case block - Remove redundant const/struct prefix - Fix a couple missing params in Doxygen blocks | ||||
| * | [SERVER] iscsi: Reply OK to any task management function | Simon Rettberg | 2025-12-09 | 2 | -1/+235 |
| | | | | | | | | Since we process everything sequentially, by the time we receive any task management function, the task referenced in the request has already been rejected (or processed), so we just reply OK for now, so the SNs don't get messed up. | ||||
| * | [SERVER] iscsi: Remove unused functions & casts, turn [0] into [] | Simon Rettberg | 2025-12-09 | 2 | -306/+104![]() |
| | | | | | | | | In functions that can handle multiple different structs, instead of picking an arbitrary one as the pointer type in the function signature, pass an uint8_t and cast to the according struct in the sub-cases in the method body. | ||||
| * | [SERVER] iscsi: Rename constant to reflect it means LOGICAL block size | Simon Rettberg | 2025-12-09 | 2 | -21/+22 |
| | | | | | ... The other one is already named PHYSICAL | ||||
| * | [SERVER] iscsi: Unify usage of length and position variables | Simon Rettberg | 2025-12-09 | 2 | -461/+213![]() |
| | | | | | | | | | | | | | There were a lot of similarly named and redundant variables in various structs named pos, len, xfer_len, des_xfer_pos, etc. It could be very challenging to keep track of what information is stored where when working with the code. Attempt to minimize this by relying only on a single "len" variable in the scsi_task struct. This refactoring uncovered a few inconsistencies in how allocation length limitations were handled, which were addressed here too. | ||||
| * | [SERVER] iscsi: Refactor receive function and PDU handling | Simon Rettberg | 2025-12-09 | 2 | -1054/+615![]() |
| | | | | | | | | | | | | | - Fold header/data handling into one function This uncovered a few redundant checks and makes it easier to reason about control flow - Make all iscsi_pdu stack-allocated This greatly reduces the number of malloc and free calls during normal operation, lowers the risk of memory management bugs, and potentially increases performance in high concurrency scenarios. | ||||
| * | [SERVER] iscsi: Honor global _shutdown | Simon Rettberg | 2025-12-09 | 2 | -6/+1![]() |
| | | |||||
| * | [SERVER] iscsi: Restore proper padding of DataSegment | Simon Rettberg | 2025-12-09 | 1 | -0/+7 |
| | | | | | | | | | This broke when sending ds payload was refactored to avoid copying the buffer into the PDU's buffer before sending. iscsi_connection_pdu_create took care of this before, but now that we send the source buffer directly, pad the packet manually after sending the buffer contents if required. | ||||
| * | [SERVER] iscsi: Cleanup commented-out code | Simon Rettberg | 2025-12-09 | 1 | -5/+0![]() |
| | | |||||
| * | [SERVER] iscsi: Change LUN to 0 | Simon Rettberg | 2025-12-09 | 1 | -1/+1 |
| | | | | | Makes using the kernel's iscsi module simpler | ||||
| * | Fix AFL build | Simon Rettberg | 2025-12-09 | 6 | -36/+14![]() |
| | | |||||
| * | [SERVER] Refactor classic dnbd3 code a bit, locking etc. | Simon Rettberg | 2025-12-09 | 1 | -28/+54 |
| | | |||||
| * | [SERVER] iscsi: Fix crashes | Simon Rettberg | 2025-12-09 | 2 | -36/+40 |
| | | |||||
| * | [SERVER] Check if iSCSI server is enabled, check opcode | Simon Rettberg | 2025-12-09 | 3 | -12/+16 |
| | | |||||
| * | [SERVER] iscsi: use sendfile() | Simon Rettberg | 2025-12-09 | 4 | -151/+105![]() |
| | | |||||
| * | [SERVER] iscsi refactor: First working version | Simon Rettberg | 2025-12-09 | 9 | -18065/+2732![]() |
| | | | | | | | | | | 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 servers | Simon Rettberg | 2025-12-09 | 2 | -26/+97 |
| | | |||||
| * | [SERVER] iscsi: Hook into net.c, text response handling, more features: | Sebastian Vater | 2025-12-09 | 8 | -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 handling | Sebastian Vater | 2025-12-09 | 2 | -261/+1448 |
| | | | | | Also a couple bug fixes and other minor improvements | ||||
| * | [SERVER] iscsi: Implement receive loop, add a lot of new iSCSI structures | Sebastian Vater | 2025-12-09 | 2 | -120/+3956 |
| | | | | | | - globals, portal groups, portals, ports, etc. - Finally, fixed some bugs. | ||||
| * | [SERVER] iscsi: Add a lot of Doxygen comments, some general additions | Sebastian Vater | 2025-12-09 | 2 | -2672/+5479 |
| | | |||||
| * | doxygen: Add initial config and gitlab runner job | Simon Rettberg | 2025-12-09 | 2 | -2/+199 |
| | | |||||
| * | [SERVER] iscsi: Initial commit, WIP | Sebastian Vater | 2025-12-09 | 3 | -0/+4589 |
| | | |||||
| * | [SERVER] Verify checksums of all images on SIGUSR1 | Simon Rettberg | 2024-07-05 | 6 | -14/+92 |
| | | |||||
| * | [SERVER] integrity: Add comments, line wraps, add check for full scan | Simon Rettberg | 2024-07-04 | 1 | -7/+24 |
| | | |||||
| * | [server] Avoid redefining container_of | Simon Rettberg | 2024-06-07 | 1 | -0/+2 |
| | | |||||
| * | [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 |
| | | |||||

