RDS: Add rds.h to exported headers list

Also, a number of changes were made based on the assumption that
rds.h wasn't exported, so roll these back.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 626b629..c7fbf29 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -302,6 +302,7 @@
 header-y += radeonfb.h
 header-y += random.h
 header-y += raw.h
+header-y += rds.h
 header-y += reboot.h
 header-y += reiserfs_fs.h
 header-y += reiserfs_xattr.h
diff --git a/include/linux/rds.h b/include/linux/rds.h
index a2a5edb..f371f88 100644
--- a/include/linux/rds.h
+++ b/include/linux/rds.h
@@ -95,7 +95,7 @@
 struct rds_info_counter {
 	u_int8_t	name[32];
 	u_int64_t	value;
-} __packed;
+} __attribute__((packed));
 
 #define RDS_INFO_CONNECTION_FLAG_SENDING	0x01
 #define RDS_INFO_CONNECTION_FLAG_CONNECTING	0x02
@@ -110,7 +110,7 @@
 	__be32		faddr;
 	u_int8_t	transport[TRANSNAMSIZ];		/* null term ascii */
 	u_int8_t	flags;
-} __packed;
+} __attribute__((packed));
 
 struct rds_info_flow {
 	__be32		laddr;
@@ -118,7 +118,7 @@
 	u_int32_t	bytes;
 	__be16		lport;
 	__be16		fport;
-} __packed;
+} __attribute__((packed));
 
 #define RDS_INFO_MESSAGE_FLAG_ACK               0x01
 #define RDS_INFO_MESSAGE_FLAG_FAST_ACK          0x02
@@ -131,7 +131,7 @@
 	__be16		lport;
 	__be16		fport;
 	u_int8_t	flags;
-} __packed;
+} __attribute__((packed));
 
 struct rds_info_socket {
 	u_int32_t	sndbuf;
@@ -141,7 +141,7 @@
 	__be16		connected_port;
 	u_int32_t	rcvbuf;
 	u_int64_t	inum;
-} __packed;
+} __attribute__((packed));
 
 struct rds_info_tcp_socket {
 	__be32          local_addr;
@@ -153,7 +153,7 @@
 	u_int32_t       last_sent_nxt;
 	u_int32_t       last_expected_una;
 	u_int32_t       last_seen_una;
-} __packed;
+} __attribute__((packed));
 
 #define RDS_IB_GID_LEN	16
 struct rds_info_rdma_connection {