Skip to content

Commit

Permalink
iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h
Browse files Browse the repository at this point in the history
This patch moves the iscsi_sna_lt() and iscsi_sna_lte(), along with
iscsi_sna_gt() and iscsi_sna_gte() from iscsi_target_mod into
static inlines inside of include/scsi/iscsi_proto.h

This patch also includes the ISCSI_HDR_LEN and ISCSI_CRC_LEN
definitions.

(Added JesperJ simpliciation for iscsi_sna_* usage)

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Nicholas Bellinger committed Jul 25, 2011
1 parent 55bdabd commit 8304bbc
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 16 deletions.
16 changes: 0 additions & 16 deletions drivers/scsi/libiscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,22 +84,6 @@ MODULE_PARM_DESC(debug_libiscsi_eh,
__func__, ##arg); \
} while (0);

/* Serial Number Arithmetic, 32 bits, less than, RFC1982 */
#define SNA32_CHECK 2147483648UL

static int iscsi_sna_lt(u32 n1, u32 n2)
{
return n1 != n2 && ((n1 < n2 && (n2 - n1 < SNA32_CHECK)) ||
(n1 > n2 && (n2 - n1 < SNA32_CHECK)));
}

/* Serial Number Arithmetic, 32 bits, less than, RFC1982 */
static int iscsi_sna_lte(u32 n1, u32 n2)
{
return n1 == n2 || ((n1 < n2 && (n2 - n1 < SNA32_CHECK)) ||
(n1 > n2 && (n2 - n1 < SNA32_CHECK)));
}

inline void iscsi_conn_queue_work(struct iscsi_conn *conn)
{
struct Scsi_Host *shost = conn->session->host;
Expand Down
30 changes: 30 additions & 0 deletions include/scsi/iscsi_proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,39 @@
/* default iSCSI listen port for incoming connections */
#define ISCSI_LISTEN_PORT 3260

/* iSCSI header length */
#define ISCSI_HDR_LEN 48

/* iSCSI CRC32C length */
#define ISCSI_CRC_LEN 4

/* Padding word length */
#define ISCSI_PAD_LEN 4

/*
* Serial Number Arithmetic, 32 bits, RFC1982
*/

static inline int iscsi_sna_lt(u32 n1, u32 n2)
{
return (s32)(n1 - n2) < 0;
}

static inline int iscsi_sna_lte(u32 n1, u32 n2)
{
return (s32)(n1 - n2) <= 0;
}

static inline int iscsi_sna_gt(u32 n1, u32 n2)
{
return (s32)(n1 - n2) > 0;
}

static inline int iscsi_sna_gte(u32 n1, u32 n2)
{
return (s32)(n1 - n2) >= 0;
}

/*
* useful common(control and data pathes) macro
*/
Expand Down

0 comments on commit 8304bbc

Please sign in to comment.