git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
infiniband
/
ulp
/
srp
/
ib_srp.h
diff --git
a/drivers/infiniband/ulp/srp/ib_srp.h
b/drivers/infiniband/ulp/srp/ib_srp.h
index
5b581fb
..
4e7727d
100644
(file)
--- a/
drivers/infiniband/ulp/srp/ib_srp.h
+++ b/
drivers/infiniband/ulp/srp/ib_srp.h
@@
-38,7
+38,6
@@
#include <linux/types.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/types.h>
#include <linux/list.h>
#include <linux/mutex.h>
-#include <linux/scatterlist.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_cmnd.h>
@@
-46,7
+45,6
@@
#include <rdma/ib_verbs.h>
#include <rdma/ib_sa.h>
#include <rdma/ib_cm.h>
#include <rdma/ib_verbs.h>
#include <rdma/ib_sa.h>
#include <rdma/ib_cm.h>
-#include <rdma/ib_fmr_pool.h>
enum {
SRP_PATH_REC_TIMEOUT_MS = 1000,
enum {
SRP_PATH_REC_TIMEOUT_MS = 1000,
@@
-56,21
+54,20
@@
enum {
SRP_DLID_REDIRECT = 2,
SRP_MAX_LUN = 512,
SRP_DLID_REDIRECT = 2,
SRP_MAX_LUN = 512,
- SRP_
DEF_SG_TABLESIZE = 12
,
+ SRP_
MAX_IU_LEN = 256
,
SRP_RQ_SHIFT = 6,
SRP_RQ_SIZE = 1 << SRP_RQ_SHIFT,
SRP_SQ_SIZE = SRP_RQ_SIZE - 1,
SRP_CQ_SIZE = SRP_SQ_SIZE + SRP_RQ_SIZE,
SRP_RQ_SHIFT = 6,
SRP_RQ_SIZE = 1 << SRP_RQ_SHIFT,
SRP_SQ_SIZE = SRP_RQ_SIZE - 1,
SRP_CQ_SIZE = SRP_SQ_SIZE + SRP_RQ_SIZE,
- SRP_TAG_TSK_MGMT = 1 << (SRP_RQ_SHIFT + 1),
-
- SRP_FMR_SIZE = 256,
- SRP_FMR_POOL_SIZE = 1024,
- SRP_FMR_DIRTY_SIZE = SRP_FMR_POOL_SIZE / 4
+ SRP_TAG_TSK_MGMT = 1 << (SRP_RQ_SHIFT + 1)
};
#define SRP_OP_RECV (1 << 31)
};
#define SRP_OP_RECV (1 << 31)
+#define SRP_MAX_INDIRECT ((SRP_MAX_IU_LEN - \
+ sizeof (struct srp_cmd) - \
+ sizeof (struct srp_indirect_buf)) / 16)
enum srp_target_state {
SRP_TARGET_LIVE,
enum srp_target_state {
SRP_TARGET_LIVE,
@@
-79,24
+76,15
@@
enum srp_target_state {
SRP_TARGET_REMOVED
};
SRP_TARGET_REMOVED
};
-struct srp_
device
{
-
struct list_head dev_list
;
+struct srp_
host
{
+
u8 initiator_port_id[16]
;
struct ib_device *dev;
struct ib_device *dev;
+ u8 port;
struct ib_pd *pd;
struct ib_mr *mr;
struct ib_pd *pd;
struct ib_mr *mr;
- struct ib_fmr_pool *fmr_pool;
- int fmr_page_shift;
- int fmr_page_size;
- unsigned long fmr_page_mask;
-};
-
-struct srp_host {
- u8 initiator_port_id[16];
- struct srp_device *dev;
- u8 port;
struct class_device class_dev;
struct list_head target_list;
struct class_device class_dev;
struct list_head target_list;
- s
pinlock_t target_lock
;
+ s
truct mutex target_mutex
;
struct completion released;
struct list_head list;
};
struct completion released;
struct list_head list;
};
@@
-106,14
+94,9
@@
struct srp_request {
struct scsi_cmnd *scmnd;
struct srp_iu *cmd;
struct srp_iu *tsk_mgmt;
struct scsi_cmnd *scmnd;
struct srp_iu *cmd;
struct srp_iu *tsk_mgmt;
- struct ib_pool_fmr *fmr;
- /*
- * Fake scatterlist used when scmnd->use_sg==0. Can be killed
- * when the SCSI midlayer no longer generates non-SG commands.
- */
- struct scatterlist fake_sg;
+ DECLARE_PCI_UNMAP_ADDR(direct_mapping)
struct completion done;
struct completion done;
- short
index
;
+ short
next
;
u8 cmd_done;
u8 tsk_status;
};
u8 cmd_done;
u8 tsk_status;
};
@@
-122,7
+105,6
@@
struct srp_target_port {
__be64 id_ext;
__be64 ioc_guid;
__be64 service_id;
__be64 id_ext;
__be64 ioc_guid;
__be64 service_id;
- u16 io_class;
struct srp_host *srp_host;
struct Scsi_Host *scsi_host;
char target_name[32];
struct srp_host *srp_host;
struct Scsi_Host *scsi_host;
char target_name[32];
@@
-139,8
+121,6
@@
struct srp_target_port {
int max_ti_iu_len;
s32 req_lim;
int max_ti_iu_len;
s32 req_lim;
- int zero_req_lim;
-
unsigned rx_head;
struct srp_iu *rx_ring[SRP_RQ_SIZE];
unsigned rx_head;
struct srp_iu *rx_ring[SRP_RQ_SIZE];
@@
-148,7
+128,7
@@
struct srp_target_port {
unsigned tx_tail;
struct srp_iu *tx_ring[SRP_SQ_SIZE + 1];
unsigned tx_tail;
struct srp_iu *tx_ring[SRP_SQ_SIZE + 1];
-
struct list_head free_reqs
;
+
int req_head
;
struct list_head req_queue;
struct srp_request req_ring[SRP_SQ_SIZE];
struct list_head req_queue;
struct srp_request req_ring[SRP_SQ_SIZE];