[SCSI] ibmvfc: Improve ibmvfc_async_desc memory layout
authorRobert Jennings <rcj@linux.vnet.ibm.com>
Thu, 9 Dec 2010 20:03:59 +0000 (14:03 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:49 +0000 (12:24 -0600)
By changing field ordering we can avoid a couple of memory holes in
the tables that use the ibmvfc_async_desc structure.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/ibmvscsi/ibmvfc.c
drivers/scsi/ibmvscsi/ibmvfc.h

index 57cad7e20caaad0f5bfe4d47e721d494d1ef826d..b7650613b8c2606caef87d83a6b0e2a74cc7ca09 100644 (file)
@@ -2493,23 +2493,23 @@ static void ibmvfc_terminate_rport_io(struct fc_rport *rport)
 }
 
 static const struct ibmvfc_async_desc ae_desc [] = {
-       { IBMVFC_AE_ELS_PLOGI,          "PLOGI",                IBMVFC_DEFAULT_LOG_LEVEL + 1 },
-       { IBMVFC_AE_ELS_LOGO,           "LOGO",         IBMVFC_DEFAULT_LOG_LEVEL + 1 },
-       { IBMVFC_AE_ELS_PRLO,           "PRLO",         IBMVFC_DEFAULT_LOG_LEVEL + 1 },
-       { IBMVFC_AE_SCN_NPORT,          "N-Port SCN",   IBMVFC_DEFAULT_LOG_LEVEL + 1 },
-       { IBMVFC_AE_SCN_GROUP,          "Group SCN",    IBMVFC_DEFAULT_LOG_LEVEL + 1 },
-       { IBMVFC_AE_SCN_DOMAIN,         "Domain SCN",   IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_SCN_FABRIC,         "Fabric SCN",   IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_LINK_UP,            "Link Up",              IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_LINK_DOWN,          "Link Down",    IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_LINK_DEAD,          "Link Dead",    IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_HALT,                       "Halt",         IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_RESUME,             "Resume",               IBMVFC_DEFAULT_LOG_LEVEL },
-       { IBMVFC_AE_ADAPTER_FAILED,     "Adapter Failed",       IBMVFC_DEFAULT_LOG_LEVEL },
+       { "PLOGI",      IBMVFC_AE_ELS_PLOGI,    IBMVFC_DEFAULT_LOG_LEVEL + 1 },
+       { "LOGO",       IBMVFC_AE_ELS_LOGO,     IBMVFC_DEFAULT_LOG_LEVEL + 1 },
+       { "PRLO",       IBMVFC_AE_ELS_PRLO,     IBMVFC_DEFAULT_LOG_LEVEL + 1 },
+       { "N-Port SCN", IBMVFC_AE_SCN_NPORT,    IBMVFC_DEFAULT_LOG_LEVEL + 1 },
+       { "Group SCN",  IBMVFC_AE_SCN_GROUP,    IBMVFC_DEFAULT_LOG_LEVEL + 1 },
+       { "Domain SCN", IBMVFC_AE_SCN_DOMAIN,   IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Fabric SCN", IBMVFC_AE_SCN_FABRIC,   IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Link Up",    IBMVFC_AE_LINK_UP,      IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Link Down",  IBMVFC_AE_LINK_DOWN,    IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Link Dead",  IBMVFC_AE_LINK_DEAD,    IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Halt",       IBMVFC_AE_HALT,         IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Resume",     IBMVFC_AE_RESUME,       IBMVFC_DEFAULT_LOG_LEVEL },
+       { "Adapter Failed", IBMVFC_AE_ADAPTER_FAILED, IBMVFC_DEFAULT_LOG_LEVEL },
 };
 
 static const struct ibmvfc_async_desc unknown_ae = {
-       0, "Unknown async", IBMVFC_DEFAULT_LOG_LEVEL
+       "Unknown async", 0, IBMVFC_DEFAULT_LOG_LEVEL
 };
 
 /**
index ef663e7c9bbcf53dbb7c16f021d51d2091a406af..834c37fc7ce9be5dcb73825d4b3f50da8beae800 100644 (file)
@@ -542,8 +542,8 @@ enum ibmvfc_async_event {
 };
 
 struct ibmvfc_async_desc {
-       enum ibmvfc_async_event ae;
        const char *desc;
+       enum ibmvfc_async_event ae;
        int log_level;
 };