Whamcloud - gitweb
- Rename the ptlrpc-general reconnection and replay functions, and export them
[fs/lustre-release.git] / lustre / ptlrpc / pack_generic.c
index e932433..3804bbc 100644 (file)
@@ -24,6 +24,7 @@
 
 #define DEBUG_SUBSYSTEM S_CLASS
 
+#include <linux/obd_support.h>
 #include <linux/lustre_net.h>
 
 int lustre_pack_msg(int count, int *lens, char **bufs, int *len,
@@ -81,12 +82,10 @@ int lustre_unpack_msg(struct lustre_msg *m, int len)
                 RETURN(-EINVAL);
 
         m->opc = NTOH__u32(m->opc);
-        m->xid = NTOH__u32(m->xid);
         m->status = NTOH__u32(m->status);
         m->type = NTOH__u32(m->type);
-        m->connid = NTOH__u32(m->connid);
         m->bufcount = NTOH__u32(m->bufcount);
-        m->last_rcvd = NTOH__u64(m->last_rcvd);
+        m->last_xid = NTOH__u64(m->last_xid);
         m->last_committed = NTOH__u64(m->last_committed);
 
         required_len = size_round(sizeof(*m) + m->bufcount * sizeof(__u32));
@@ -110,14 +109,23 @@ void *lustre_msg_buf(struct lustre_msg *m, int n)
 {
         int i, offset;
 
+        if (!m) {
+                CERROR("no message buffer!\n");
+                LBUG();
+                return NULL;
+        }
+
         if (n < 0 || n >= m->bufcount) {
-                CERROR("referencing bad sub buffer!\n");
+                CERROR("referencing bad sub buffer (want %d, count is %d)!\n",
+                       n, m->bufcount);
                 LBUG();
                 return NULL;
         }
 
-        if (m->buflens[n] == 0)
+        if (m->buflens[n] == 0) {
+                CERROR("zero-length buffer requested for buffer %d\n", n);
                 return NULL;
+        }
 
         offset = size_round(sizeof(*m) + m->bufcount * sizeof(__u32));