33 #include <sys/strsubr.h>
34 #include <sys/sysmacros.h>
35
36 #include <sys/socketvar.h>
37 #include <netinet/in.h>
38
39 #include <sys/idm/idm.h>
40 #include <sys/idm/idm_so.h>
41
42 #define IDM_NAME_VERSION "iSCSI Data Mover"
43
44 extern struct mod_ops mod_miscops;
45 extern struct mod_ops mod_miscops;
46
47 static struct modlmisc modlmisc = {
48 &mod_miscops, /* Type of module */
49 IDM_NAME_VERSION
50 };
51
52 static struct modlinkage modlinkage = {
53 MODREV_1, (void *)&modlmisc, NULL
54 };
55
56 extern void idm_wd_thread(void *arg);
57
58 static int _idm_init(void);
59 static int _idm_fini(void);
60 static void idm_buf_bind_in_locked(idm_task_t *idt, idm_buf_t *buf);
61 static void idm_buf_bind_out_locked(idm_task_t *idt, idm_buf_t *buf);
62 static void idm_buf_unbind_in_locked(idm_task_t *idt, idm_buf_t *buf);
63 static void idm_buf_unbind_out_locked(idm_task_t *idt, idm_buf_t *buf);
64 static void idm_task_abort_one(idm_conn_t *ic, idm_task_t *idt,
65 idm_abort_type_t abort_type);
66 static void idm_task_aborted(idm_task_t *idt, idm_status_t status);
67 static idm_pdu_t *idm_pdu_alloc_common(uint_t hdrlen, uint_t datalen,
68 int sleepflag);
69
70 boolean_t idm_conn_logging = 0;
71 boolean_t idm_svc_logging = 0;
72 #ifdef DEBUG
73 boolean_t idm_pattern_checking = 1;
|
33 #include <sys/strsubr.h>
34 #include <sys/sysmacros.h>
35
36 #include <sys/socketvar.h>
37 #include <netinet/in.h>
38
39 #include <sys/idm/idm.h>
40 #include <sys/idm/idm_so.h>
41
42 #define IDM_NAME_VERSION "iSCSI Data Mover"
43
44 extern struct mod_ops mod_miscops;
45 extern struct mod_ops mod_miscops;
46
47 static struct modlmisc modlmisc = {
48 &mod_miscops, /* Type of module */
49 IDM_NAME_VERSION
50 };
51
52 static struct modlinkage modlinkage = {
53 MODREV_1, { (void *)&modlmisc, NULL }
54 };
55
56 extern void idm_wd_thread(void *arg);
57
58 static int _idm_init(void);
59 static int _idm_fini(void);
60 static void idm_buf_bind_in_locked(idm_task_t *idt, idm_buf_t *buf);
61 static void idm_buf_bind_out_locked(idm_task_t *idt, idm_buf_t *buf);
62 static void idm_buf_unbind_in_locked(idm_task_t *idt, idm_buf_t *buf);
63 static void idm_buf_unbind_out_locked(idm_task_t *idt, idm_buf_t *buf);
64 static void idm_task_abort_one(idm_conn_t *ic, idm_task_t *idt,
65 idm_abort_type_t abort_type);
66 static void idm_task_aborted(idm_task_t *idt, idm_status_t status);
67 static idm_pdu_t *idm_pdu_alloc_common(uint_t hdrlen, uint_t datalen,
68 int sleepflag);
69
70 boolean_t idm_conn_logging = 0;
71 boolean_t idm_svc_logging = 0;
72 #ifdef DEBUG
73 boolean_t idm_pattern_checking = 1;
|