iscsi-scstd: Add login suspension via SIGUSR1/SIGUSR2#354
Open
bmeagherix wants to merge 1 commit intoSCST-project:masterfrom
Open
iscsi-scstd: Add login suspension via SIGUSR1/SIGUSR2#354bmeagherix wants to merge 1 commit intoSCST-project:masterfrom
bmeagherix wants to merge 1 commit intoSCST-project:masterfrom
Conversation
SIGUSR1/SIGUSR2 set/clear logins_suspended. While set, any login attempt is rejected with a retriable Target Error instead of the permanent Initiator Error (TGT_NOT_FOUND) that causes initiators to give up.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
During daemon startup or configuration reload, targets may be partially configured - present in the daemon but without their ACL entries yet written. Initiators that attempt to connect in this window receive
ISCSI_STATUS_TGT_NOT_FOUND(class 0x02, Initiator Error), which most initiators treat as a permanent failure and do not retry.This patch adds a
logins_suspendedflag that an external process can set and clear by sendingSIGUSR1andSIGUSR2respectively. While logins are suspended, any login attempt - normal or discovery - is rejected early withISCSI_STATUS_SVC_UNAVAILABLE(class 0x03, Target Error), which the RFC defines as transient and initiators are expected to retry.The intended usage is to send
SIGUSR1before beginning a susceptible configuration apply andSIGUSR2once it is complete, ensuring initiators that arrive during the window will reconnect successfully rather than giving up.SIGUSR1andSIGUSR2were previously unhandled byiscsi-scstd.(No behavior change unless
SIGUSR1is sent).