projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[linux-2.6-block.git]
/
drivers
/
infiniband
/
ulp
/
iser
/
iscsi_iser.h
diff --git
a/drivers/infiniband/ulp/iser/iscsi_iser.h
b/drivers/infiniband/ulp/iser/iscsi_iser.h
index 0e10703cf59e5942dbe003bd9d894e7c3af4f048..81a82628a5f1ebba68217ca6d20a5d5fd48bacbd 100644
(file)
--- a/
drivers/infiniband/ulp/iser/iscsi_iser.h
+++ b/
drivers/infiniband/ulp/iser/iscsi_iser.h
@@
-94,7
+94,6
@@
/* support upto 512KB in one RDMA */
#define ISCSI_ISER_SG_TABLESIZE (0x80000 >> SHIFT_4K)
#define ISCSI_ISER_MAX_LUN 256
/* support upto 512KB in one RDMA */
#define ISCSI_ISER_SG_TABLESIZE (0x80000 >> SHIFT_4K)
#define ISCSI_ISER_MAX_LUN 256
-#define ISCSI_ISER_MAX_CMD_LEN 16
/* QP settings */
/* Maximal bounds on received asynchronous PDUs */
/* QP settings */
/* Maximal bounds on received asynchronous PDUs */
@@
-172,7
+171,8
@@
struct iser_data_buf {
/* fwd declarations */
struct iser_device;
struct iscsi_iser_conn;
/* fwd declarations */
struct iser_device;
struct iscsi_iser_conn;
-struct iscsi_iser_cmd_task;
+struct iscsi_iser_task;
+struct iscsi_endpoint;
struct iser_mem_reg {
u32 lkey;
struct iser_mem_reg {
u32 lkey;
@@
-196,7
+196,7
@@
struct iser_regd_buf {
#define MAX_REGD_BUF_VECTOR_LEN 2
struct iser_dto {
#define MAX_REGD_BUF_VECTOR_LEN 2
struct iser_dto {
- struct iscsi_iser_
cmd_task *c
task;
+ struct iscsi_iser_
task *
task;
struct iser_conn *ib_conn;
int notify_enable;
struct iser_conn *ib_conn;
int notify_enable;
@@
-240,7
+240,9
@@
struct iser_device {
struct iser_conn {
struct iscsi_iser_conn *iser_conn; /* iser conn for upcalls */
struct iser_conn {
struct iscsi_iser_conn *iser_conn; /* iser conn for upcalls */
+ struct iscsi_endpoint *ep;
enum iser_ib_conn_state state; /* rdma connection state */
enum iser_ib_conn_state state; /* rdma connection state */
+ atomic_t refcount;
spinlock_t lock; /* used for state changes */
struct iser_device *device; /* device context */
struct rdma_cm_id *cma_id; /* CMA ID */
spinlock_t lock; /* used for state changes */
struct iser_device *device; /* device context */
struct rdma_cm_id *cma_id; /* CMA ID */
@@
-259,11
+261,9
@@
struct iser_conn {
struct iscsi_iser_conn {
struct iscsi_conn *iscsi_conn;/* ptr to iscsi conn */
struct iser_conn *ib_conn; /* iSER IB conn */
struct iscsi_iser_conn {
struct iscsi_conn *iscsi_conn;/* ptr to iscsi conn */
struct iser_conn *ib_conn; /* iSER IB conn */
-
- rwlock_t lock;
};
};
-struct iscsi_iser_
cmd_
task {
+struct iscsi_iser_task {
struct iser_desc desc;
struct iscsi_iser_conn *iser_conn;
enum iser_task_status status;
struct iser_desc desc;
struct iscsi_iser_conn *iser_conn;
enum iser_task_status status;
@@
-296,22
+296,26
@@
extern int iser_debug_level;
/* allocate connection resources needed for rdma functionality */
int iser_conn_set_full_featured_mode(struct iscsi_conn *conn);
/* allocate connection resources needed for rdma functionality */
int iser_conn_set_full_featured_mode(struct iscsi_conn *conn);
-int iser_send_control(struct iscsi_conn
*conn,
- struct iscsi_
mgmt_task *m
task);
+int iser_send_control(struct iscsi_conn *conn,
+ struct iscsi_
task *
task);
-int iser_send_command(struct iscsi_conn
*conn,
- struct iscsi_
cmd_task *c
task);
+int iser_send_command(struct iscsi_conn *conn,
+ struct iscsi_
task *
task);
-int iser_send_data_out(struct iscsi_conn
*conn,
- struct iscsi_
cmd_task *c
task,
- struct iscsi_data
*hdr);
+int iser_send_data_out(struct iscsi_conn *conn,
+ struct iscsi_
task *
task,
+ struct iscsi_data *hdr);
void iscsi_iser_recv(struct iscsi_conn *conn,
struct iscsi_hdr *hdr,
char *rx_data,
int rx_data_len);
void iscsi_iser_recv(struct iscsi_conn *conn,
struct iscsi_hdr *hdr,
char *rx_data,
int rx_data_len);
-int iser_conn_init(struct iser_conn **ib_conn);
+void iser_conn_init(struct iser_conn *ib_conn);
+
+void iser_conn_get(struct iser_conn *ib_conn);
+
+void iser_conn_put(struct iser_conn *ib_conn);
void iser_conn_terminate(struct iser_conn *ib_conn);
void iser_conn_terminate(struct iser_conn *ib_conn);
@@
-320,9
+324,9
@@
void iser_rcv_completion(struct iser_desc *desc,
void iser_snd_completion(struct iser_desc *desc);
void iser_snd_completion(struct iser_desc *desc);
-void iser_
ctask_rdma_init(struct iscsi_iser_cmd_task *c
task);
+void iser_
task_rdma_init(struct iscsi_iser_task *
task);
-void iser_
ctask_rdma_finalize(struct iscsi_iser_cmd_task *c
task);
+void iser_
task_rdma_finalize(struct iscsi_iser_task *
task);
void iser_dto_buffs_release(struct iser_dto *dto);
void iser_dto_buffs_release(struct iser_dto *dto);
@@
-332,10
+336,10
@@
void iser_reg_single(struct iser_device *device,
struct iser_regd_buf *regd_buf,
enum dma_data_direction direction);
struct iser_regd_buf *regd_buf,
enum dma_data_direction direction);
-void iser_finalize_rdma_unaligned_sg(struct iscsi_iser_
cmd_task *c
task,
+void iser_finalize_rdma_unaligned_sg(struct iscsi_iser_
task *
task,
enum iser_data_dir cmd_dir);
enum iser_data_dir cmd_dir);
-int iser_reg_rdma_mem(struct iscsi_iser_
cmd_task *c
task,
+int iser_reg_rdma_mem(struct iscsi_iser_
task *
task,
enum iser_data_dir cmd_dir);
int iser_connect(struct iser_conn *ib_conn,
enum iser_data_dir cmd_dir);
int iser_connect(struct iser_conn *ib_conn,
@@
-355,10
+359,10
@@
int iser_post_send(struct iser_desc *tx_desc);
int iser_conn_state_comp(struct iser_conn *ib_conn,
enum iser_ib_conn_state comp);
int iser_conn_state_comp(struct iser_conn *ib_conn,
enum iser_ib_conn_state comp);
-int iser_dma_map_task_data(struct iscsi_iser_
cmd_task *iser_c
task,
+int iser_dma_map_task_data(struct iscsi_iser_
task *iser_
task,
struct iser_data_buf *data,
enum iser_data_dir iser_dir,
enum dma_data_direction dma_dir);
struct iser_data_buf *data,
enum iser_data_dir iser_dir,
enum dma_data_direction dma_dir);
-void iser_dma_unmap_task_data(struct iscsi_iser_
cmd_task *iser_c
task);
+void iser_dma_unmap_task_data(struct iscsi_iser_
task *iser_
task);
#endif
#endif