![Christophe Vu-Brugier](/assets/img/avatar_default.png)
Support for markers is currently broken because of a bug in iscsi_enforce_integrity_rules(): the "IFMarkInt_Reject" and "OFMarkInt_Reject" variables are always equal to 1 in iscsi_enforce_integrity_rules(). Moreover, fixed interval markers keys (IFMarker, OFMarker, IFMarkInt and OFMarkInt) are obsolete according to iSCSI RFC 7143: >From http://tools.ietf.org/html/rfc7143#section-13.25: 13.25. Obsoleted Keys This document obsoletes the following keys defined in [RFC3720]: IFMarker, OFMarker, OFMarkInt, and IFMarkInt. However, iSCSI implementations compliant to this document may still receive these obsoleted keys -- i.e., in a responder role -- in a text negotiation. When an IFMarker or OFMarker key is received, a compliant iSCSI implementation SHOULD respond with the constant "Reject" value. The implementation MAY alternatively respond with a "No" value. However, the implementation MUST NOT respond with a "NotUnderstood" value for either of these keys. When an IFMarkInt or OFMarkInt key is received, a compliant iSCSI implementation MUST respond with the constant "Reject" value. The implementation MUST NOT respond with a "NotUnderstood" value for either of these keys. This patch disables markers by turning the corresponding parameters to read-only. The default value of IFMarker and OFMarker remains "No" but the user cannot change it to "Yes" anymore. The new value of IFMarkInt and OFMarkInt is "Reject". (Drop left-over iscsi_get_value_from_number_range + make configfs parameters attrs R/W nops - nab) Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
15 lines
737 B
C
15 lines
737 B
C
#ifndef ISCSI_TARGET_ERL0_H
|
|
#define ISCSI_TARGET_ERL0_H
|
|
|
|
extern void iscsit_set_dataout_sequence_values(struct iscsi_cmd *);
|
|
extern int iscsit_check_pre_dataout(struct iscsi_cmd *, unsigned char *);
|
|
extern int iscsit_check_post_dataout(struct iscsi_cmd *, unsigned char *, u8);
|
|
extern void iscsit_start_time2retain_handler(struct iscsi_session *);
|
|
extern int iscsit_stop_time2retain_timer(struct iscsi_session *);
|
|
extern void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *);
|
|
extern void iscsit_cause_connection_reinstatement(struct iscsi_conn *, int);
|
|
extern void iscsit_fall_back_to_erl0(struct iscsi_session *);
|
|
extern void iscsit_take_action_for_connection_exit(struct iscsi_conn *);
|
|
|
|
#endif /*** ISCSI_TARGET_ERL0_H ***/
|