summaryrefslogtreecommitdiffstats
path: root/drivers/block/aoe/aoe.h
diff options
context:
space:
mode:
authorEd Cashin <ecashin@coraid.com>2012-10-04 17:16:33 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-06 03:05:27 +0900
commit64a80f5ac78a289f66c373ace61973205d960ee7 (patch)
tree3a8b9f5c1860acd8bab6d022dbbca32985e228ee /drivers/block/aoe/aoe.h
parent6583303c5e324a918ee1d57201acd9869f3be6da (diff)
downloadblackbird-op-linux-64a80f5ac78a289f66c373ace61973205d960ee7.tar.gz
blackbird-op-linux-64a80f5ac78a289f66c373ace61973205d960ee7.zip
aoe: associate frames with the AoE storage target
In the driver code, "target" and aoetgt refer to a particular remote interface on the AoE storage target. The latter is identified by its AoE major and minor addresses. Commands that are being sent to an AoE storage target {major, minor} can be sent or retransmitted to any of the remote MAC addresses associated with the AoE storage target. That is, frames are naturally associated with not an aoetgt (AoE major, AoE minor, remote MAC address) but an aoedev (AoE major, AoE minor). Making the code reflect that reality simplifies the driver, especially when the path to a remote MAC address becomes unusable. Signed-off-by: Ed Cashin <ecashin@coraid.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/block/aoe/aoe.h')
-rw-r--r--drivers/block/aoe/aoe.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h
index d17b72763973..dab7258ddb26 100644
--- a/drivers/block/aoe/aoe.h
+++ b/drivers/block/aoe/aoe.h
@@ -91,7 +91,7 @@ enum {
NTARGETS = 8,
NAOEIFS = 8,
NSKBPOOLMAX = 256,
- NFACTIVE = 17,
+ NFACTIVE = 61,
TIMERTICK = HZ / 10,
MINTIMER = HZ >> 2,
@@ -132,14 +132,11 @@ struct aoetgt {
unsigned char addr[6];
ushort nframes;
struct aoedev *d; /* parent device I belong to */
- struct list_head factive[NFACTIVE]; /* hash of active frames */
struct list_head ffree; /* list of free frames */
struct aoeif ifs[NAOEIFS];
struct aoeif *ifp; /* current aoeif in use */
ushort nout;
ushort maxout;
- u16 lasttag; /* last tag sent */
- u16 useme;
ulong falloc;
ulong lastwadj; /* last window adjustment */
int minbcnt;
@@ -156,6 +153,8 @@ struct aoedev {
u16 rttavg; /* round trip average of requests/responses */
u16 mintimer;
u16 fw_ver; /* version of blade's firmware */
+ u16 lasttag; /* last tag sent */
+ u16 useme;
ulong ref;
struct work_struct work;/* disk create work struct */
struct gendisk *gd;
@@ -172,6 +171,7 @@ struct aoedev {
struct request *rq;
} ip;
ulong maxbcnt;
+ struct list_head factive[NFACTIVE]; /* hash of active frames */
struct aoetgt *targets[NTARGETS];
struct aoetgt **tgt; /* target in use when working */
struct aoetgt *htgt; /* target needing rexmit assistance */
OpenPOWER on IntegriCloud