| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [SERVER] iscsi: Make iscsi_connection stack-allocatediscsi-refactor | Simon Rettberg | 2025-11-13 | 1 | -64/+6![]() |
| | | |||||
| * | [SERVER] iscsi: May not -> Must not | Simon Rettberg | 2025-11-12 | 1 | -39/+39 |
| | | |||||
| * | [SERVER] iscsi: Replace int8 with uint8, remove unused login flags | Simon Rettberg | 2025-11-12 | 2 | -58/+20![]() |
| | | |||||
| * | [SERVER] iscsi: Implement NOP-In on idle timeout | Simon Rettberg | 2025-11-12 | 1 | -29/+45 |
| | | | | | | | | If the socket timeout triggers while we wait for the next iSCSI PDU, send a NOP-In with the transfer tag set, so that the initiator is required to send a NOP-Out in response. If the following reveive times out once again, tear down the connection. | ||||
| * | [SERVER] iscsi: Fix handling of reason_code in logout request | Simon Rettberg | 2025-11-12 | 2 | -2/+7 |
| | | | | | Only the lower 7 bits carry the reason code, mask away highest bit. | ||||
| * | [SERVER] iscsi: fix typo | Simon Rettberg | 2025-11-11 | 1 | -2/+2 |
| | | |||||
| * | [SERVER] iscsi: Remove unused defines, move session into connection | Simon Rettberg | 2025-11-11 | 2 | -1072/+70![]() |
| | | |||||
| * | [SERVER] iscsi: Report read cache enabled; report maximum prefetch | Simon Rettberg | 2025-11-11 | 1 | -4/+10 |
| | | | | | | ctld is also reporting maximum prefetch values, so let's just do the same. | ||||
| * | [SERVER] iscsi: Fix endianness conversion of rotation rate | Simon Rettberg | 2025-11-11 | 1 | -16/+16 |
| | | |||||
| * | [SERVER] iscsi: Make kernel really fast again | Simon Rettberg | 2025-11-10 | 1 | -10/+22 |
| | | | | | Hopefully for real this time. | ||||
| * | [SERVER] iscsi: Make kernel fast again | Simon Rettberg | 2025-11-07 | 1 | -4/+7 |
| | | |||||
| * | [SERVER] iscsi: Make iscsi_task stack-allocated | Simon Rettberg | 2025-11-06 | 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-11-06 | 2 | -184/+131![]() |
| | | |||||
| * | [SERVER] iscsi: Add bytesSent accounting, set thread name | Simon Rettberg | 2025-11-06 | 1 | -0/+5 |
| | | |||||
| * | [SERVER] iscsi: Minor clang-tidy cleanups (mostly) | Simon Rettberg | 2025-11-06 | 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-11-06 | 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: Reduce number of casts | Simon Rettberg | 2025-11-03 | 1 | -63/+65 |
| | | | | | | | | In functions that can handle multiple different structs, instead of picking an arbitrary one as the pointer type in the method signature, pass an uint8_t and cast to the according struct in the sub-cases in the method body. | ||||
| * | [SERVER] iscsi: Turn [0] fields into [], remove unused ones | Simon Rettberg | 2025-11-03 | 1 | -112/+32![]() |
| | | |||||
| * | [SERVER] iscsi: Remove more unused stuff | Simon Rettberg | 2025-10-31 | 2 | -131/+7![]() |
| | | |||||
| * | [SERVER] iscsi: Fix endianness bug | Simon Rettberg | 2025-10-31 | 1 | -6/+2![]() |
| | | |||||
| * | [SERVER] iscsi: Rename constant to reflect it means LOGICAL block size | Simon Rettberg | 2025-10-31 | 2 | -21/+22 |
| | | | | | ... The other one is already named PHYSICAL | ||||
| * | [SERVER] iscsi: Unify usage of length and position variables | Simon Rettberg | 2025-10-30 | 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-10-30 | 4 | -1056/+617![]() |
| | | | | | | | | | | | | | - 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-10-27 | 2 | -6/+1![]() |
| | | |||||
| * | [SERVER] iscsi: Restore proper padding of DataSegment | Simon Rettberg | 2025-10-24 | 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-10-24 | 1 | -5/+0![]() |
| | | |||||
| * | [SERVER] iscsi: Change LUN to 0 | Simon Rettberg | 2025-10-24 | 1 | -1/+1 |
| | | | | | Makes using the kernel's iscsi module simpler | ||||
| * | Update README and sample config | Simon Rettberg | 2025-10-24 | 4 | -552/+5![]() |
| | | |||||
| * | Fix AFL build | Simon Rettberg | 2025-10-24 | 10 | -42/+26![]() |
| | | |||||
| * | [SERVER] Refactor classic dnbd3 code a bit, locking etc. | Simon Rettberg | 2025-10-24 | 1 | -28/+54 |
| | | |||||
| * | [SERVER] iscsi: Fix crashes | Simon Rettberg | 2025-10-24 | 3 | -37/+41 |
| | | |||||
| * | [SERVER] Check if iSCSI server is enabled, check opcode | Simon Rettberg | 2025-10-24 | 3 | -12/+16 |
| | | |||||
| * | [SERVER] iscsi: use sendfile() | Simon Rettberg | 2025-10-24 | 6 | -151/+122![]() |
| | | |||||
| * | [SERVER] iscsi refactor: First working version | Simon Rettberg | 2025-10-24 | 8 | -5315/+2289![]() |
| | | |||||
| * | WIP | Simon Rettberg | 2025-10-24 | 6 | -13043/+738![]() |
| | | |||||
| * | Fixes to iSCSI DNBD3 proxy uplink handling. | Sebastian Vater | 2025-10-07 | 2 | -87/+67![]() |
| | | |||||
| * | Moved uplink mutex / condition init and destroy to task creation and ↵ | Sebastian Vater | 2025-10-06 | 3 | -37/+185 |
| | | | | | destruction functions. Finally, some small code refactoring. | ||||
| * | [SERVER] iscsi: Implement relaying requests to uplink servers | Simon Rettberg | 2025-10-06 | 2 | -3/+69 |
| | | |||||
| * | Implemented iSCSI global and SCSI device specific INI file configuration. ↵ | Sebastian Vater | 2025-10-06 | 8 | -710/+2959 |
| | | | | | Also fixed some bugs and added iscsi.conf. finally did some code refactoring and fixed remaining valgrind memory leaks. | ||||
| * | Added more mutexes and read/write locks to iSCSI server. Finally, moved temp ↵ | Sebastian Vater | 2025-10-01 | 2 | -40/+146 |
| | | | | | exec queue from globals to conn. | ||||
| * | Implemented better read/write and mutex locking in iSCSI server. Some little ↵ | Sebastian Vater | 2025-10-01 | 2 | -186/+399 |
| | | | | | code cleanups and finally bug fixes again. | ||||
| * | Fixed some very memory leaks in iSCSI reported by valgrind and improved ↵ | Sebastian Vater | 2025-09-30 | 2 | -107/+52![]() |
| | | | | | session and connection management. | ||||
| * | Fixed crash in iSCSI server if a write command is sent. | Sebastian Vater | 2025-09-30 | 2 | -11/+92 |
| | | |||||
| * | Images are now propagated as a read-only SCSI device in iSCSI implementation ↵ | Sebastian Vater | 2025-09-29 | 2 | -11/+48 |
| | | | | | and WRITE operations return correct SCSI sense key, ASC and ASCQ in an attempt to write to a read-only device. Finally, another valgrind SCSI INQUIRY memleak fixed. | ||||
| * | Fixed various memory leaks reported by valgrind. Also fixed some bugs in ↵ | Sebastian Vater | 2025-09-29 | 3 | -1572/+1589 |
| | | | | | DNBD3 image WWN retrieval handling. Finally, did huge code refactoring. | ||||
| * | Implemented iSCSI DNBD3 image name and WWN extraction from IQN. Also fixed ↵ | Sebastian Vater | 2025-09-26 | 2 | -151/+340 |
| | | | | | some remaining bugs with initial structure creation caused crashes on reconnection. Finally, reindentation is now all tabs. | ||||
| * | Huge iSCSI refactoring. Added doubly linked list for iSCSI and SCSI task ↵ | Sebastian Vater | 2025-09-25 | 2 | -787/+523![]() |
| | | | | | management due to use of hash map keys after free. Finally, some more bugs fixed. | ||||
| * | Fixed most iSCSI related valgrind hints. Finally, some more bugs fixed. | Sebastian Vater | 2025-09-23 | 2 | -54/+76 |
| | | |||||
| * | Added iSCSI PDU reference tag and relative desired data position to iSCSI ↵ | Sebastian Vater | 2025-09-23 | 2 | -457/+266![]() |
| | | | | | task. Also fixed doxygen documentation and code cleanup. Finally, removed obselete iSCSI packet validation function. | ||||
| * | Fixed remaining iSCSI bugs which prevent Debian ISO from booting and ↵ | Sebastian Vater | 2025-09-18 | 2 | -254/+280 |
| | | | | | running. Finally, a lot of code refactoring done. | ||||

