4 #define XSEGBD_NAME "xsegbd"
6 #define XSEGBD_SEGMENT_NAMELEN 32
7 #define XSEGBD_TARGET_NAMELEN 127
9 #include <linux/kernel.h>
10 #include <linux/types.h>
11 #include <linux/wait.h>
12 #include <xseg/xseg.h>
13 #include <xtypes/xq.h>
17 struct xsegbd_pending {
18 struct request *request;
19 struct completion *comp;
20 struct xsegbd_device *dev;
24 char name[XSEGBD_SEGMENT_NAMELEN];
25 struct xseg_config config;
29 struct xsegbd_device {
32 struct request_queue *blk_queue;
38 xport src_portno, dst_portno;
40 struct xq blk_queue_pending;
41 struct xsegbd *xsegbd;
42 struct xsegbd_pending *blk_req_pending;
44 struct list_head node;
45 char target[XSEGBD_TARGET_NAMELEN + 1];
49 void __xsegbd_get(struct xsegbd_device *xsegbd_dev);
50 void __xsegbd_put(struct xsegbd_device *xsegbd_dev);
51 struct xsegbd_device *__xsegbd_get_dev(unsigned long id);