Commit 8304bbceee505742925b487fd8ea56e1f8b4b805
1 parent
55bdabdf41
Exists in
master
and in
6 other branches
iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h
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>
Showing 2 changed files with 30 additions and 16 deletions Side-by-side Diff
drivers/scsi/libiscsi.c
... | ... | @@ -84,22 +84,6 @@ |
84 | 84 | __func__, ##arg); \ |
85 | 85 | } while (0); |
86 | 86 | |
87 | -/* Serial Number Arithmetic, 32 bits, less than, RFC1982 */ | |
88 | -#define SNA32_CHECK 2147483648UL | |
89 | - | |
90 | -static int iscsi_sna_lt(u32 n1, u32 n2) | |
91 | -{ | |
92 | - return n1 != n2 && ((n1 < n2 && (n2 - n1 < SNA32_CHECK)) || | |
93 | - (n1 > n2 && (n2 - n1 < SNA32_CHECK))); | |
94 | -} | |
95 | - | |
96 | -/* Serial Number Arithmetic, 32 bits, less than, RFC1982 */ | |
97 | -static int iscsi_sna_lte(u32 n1, u32 n2) | |
98 | -{ | |
99 | - return n1 == n2 || ((n1 < n2 && (n2 - n1 < SNA32_CHECK)) || | |
100 | - (n1 > n2 && (n2 - n1 < SNA32_CHECK))); | |
101 | -} | |
102 | - | |
103 | 87 | inline void iscsi_conn_queue_work(struct iscsi_conn *conn) |
104 | 88 | { |
105 | 89 | struct Scsi_Host *shost = conn->session->host; |
include/scsi/iscsi_proto.h
... | ... | @@ -29,8 +29,38 @@ |
29 | 29 | /* default iSCSI listen port for incoming connections */ |
30 | 30 | #define ISCSI_LISTEN_PORT 3260 |
31 | 31 | |
32 | +/* iSCSI header length */ | |
33 | +#define ISCSI_HDR_LEN 48 | |
34 | + | |
35 | +/* iSCSI CRC32C length */ | |
36 | +#define ISCSI_CRC_LEN 4 | |
37 | + | |
32 | 38 | /* Padding word length */ |
33 | 39 | #define ISCSI_PAD_LEN 4 |
40 | + | |
41 | +/* | |
42 | + * Serial Number Arithmetic, 32 bits, RFC1982 | |
43 | + */ | |
44 | + | |
45 | +static inline int iscsi_sna_lt(u32 n1, u32 n2) | |
46 | +{ | |
47 | + return (s32)(n1 - n2) < 0; | |
48 | +} | |
49 | + | |
50 | +static inline int iscsi_sna_lte(u32 n1, u32 n2) | |
51 | +{ | |
52 | + return (s32)(n1 - n2) <= 0; | |
53 | +} | |
54 | + | |
55 | +static inline int iscsi_sna_gt(u32 n1, u32 n2) | |
56 | +{ | |
57 | + return (s32)(n1 - n2) > 0; | |
58 | +} | |
59 | + | |
60 | +static inline int iscsi_sna_gte(u32 n1, u32 n2) | |
61 | +{ | |
62 | + return (s32)(n1 - n2) >= 0; | |
63 | +} | |
34 | 64 | |
35 | 65 | /* |
36 | 66 | * useful common(control and data pathes) macro |