remove double export of xseg symbols
[archipelago] / xseg / peers / kernel / xsegbd.h
1 #ifndef _XSEGBD_REAR
2 #define _XSEGBD_REAR
3
4 #define XSEGBD_NAME "xsegbd"
5
6 #define XSEGBD_SEGMENT_NAMELEN 32
7 #define XSEGBD_TARGET_NAMELEN 127
8
9 #include <linux/kernel.h>
10 #include <linux/types.h>
11 #include <xseg/xseg.h>
12 #include <xtypes/xq.h>
13
14 struct xsegbd_device;
15
16 struct xsegbd_pending {
17         struct request *request;
18         struct completion *comp;
19         struct xsegbd_device *dev;
20 };
21
22 struct xsegbd {
23         char name[XSEGBD_SEGMENT_NAMELEN];
24         struct xseg_config config;
25         struct xseg *xseg;
26 };
27
28 struct xsegbd_device {
29         struct xseg *xseg;
30         spinlock_t rqlock;
31         struct request_queue *blk_queue;
32         struct gendisk *gd;
33         int id;
34         int major;
35         sector_t sectors;
36         uint64_t segsize;
37         xport src_portno, dst_portno;
38         uint32_t  nr_requests;
39         struct xq blk_queue_pending;
40         struct xsegbd *xsegbd;
41         struct xsegbd_pending *blk_req_pending;
42         struct device dev;
43         struct list_head node;
44         char target[XSEGBD_TARGET_NAMELEN + 1];
45         uint32_t targetlen;
46 };
47
48 #endif