aoe: jumbo frame support 1 of 2
[linux-2.6.git] / drivers / block / aoe / aoe.h
index fa2d804..1cec199 100644 (file)
@@ -65,7 +65,7 @@ struct aoe_atahdr {
 struct aoe_cfghdr {
        __be16 bufcnt;
        __be16 fwver;
-       unsigned char res;
+       unsigned char scnt;
        unsigned char aoeccmd;
        unsigned char cslen[2];
 };
@@ -78,12 +78,13 @@ enum {
        DEVFL_GDALLOC = (1<<4), /* need to alloc gendisk */
        DEVFL_PAUSE = (1<<5),
        DEVFL_NEWSIZE = (1<<6), /* need to update dev size in block layer */
+       DEVFL_MAXBCNT = (1<<7), /* d->maxbcnt is not changeable */
 
        BUFFL_FAIL = 1,
 };
 
 enum {
-       MAXATADATA = 1024,
+       DEFAULTBCNT = 2 * 512,  /* 2 sectors */
        NPERSHELF = 16,         /* number of slots per shelf address */
        FREETAG = -1,
        MIN_BUFS = 8,
@@ -107,6 +108,8 @@ struct frame {
        ulong waited;
        struct buf *buf;
        char *bufaddr;
+       ulong bcnt;
+       sector_t lba;
        struct sk_buff *skb;
 };
 
@@ -120,6 +123,7 @@ struct aoedev {
        ulong nopen;            /* (bd_openers isn't available without sleeping) */
        ulong rttavg;           /* round trip average of requests/responses */
        u16 fw_ver;             /* version of blade's firmware */
+       u16 maxbcnt;
        struct work_struct work;/* disk create work struct */
        struct gendisk *gd;
        request_queue_t blkq;
@@ -134,7 +138,8 @@ struct aoedev {
        struct list_head bufq;  /* queue of bios to work on */
        struct buf *inprocess;  /* the one we're currently working on */
        ulong lasttag;          /* last tag sent */
-       ulong nframes;          /* number of frames below */
+       ushort lostjumbo;
+       ushort nframes;         /* number of frames below */
        struct frame *frames;
 };