Whamcloud - gitweb
Put back lustre_msg.version (in a different spot, though, so out-of-date clients
authorshaver <shaver>
Mon, 28 Oct 2002 23:42:49 +0000 (23:42 +0000)
committershaver <shaver>
Mon, 28 Oct 2002 23:42:49 +0000 (23:42 +0000)
will still barf -- I think this is a feature).

Some ChangeLog updates.

lustre/ChangeLog
lustre/include/linux/lustre_idl.h
lustre/ptlrpc/client.c
lustre/ptlrpc/service.c

index 6ea122c..53f9548 100644 (file)
@@ -2,6 +2,10 @@ TBA
        * version v0_5_16
        * bug fixes:
          - limit Lustre IOVs to PTL_MD_MAX_IOV (611336)
+        * protocol change to lustre_msg: move |version| and add |flags|
+        * added replay of create, unlink, link and rename operations during
+          MDS failover; recovery should be much more robust now
+        * remove failed OSCs from LOVs
 
 2002-10-23  Phil Schwan  <phil@clusterfs.com>
        * version v0_5_15
index 2aa465b..cefe7f1 100644 (file)
@@ -117,6 +117,7 @@ struct lustre_msg {
         __u64 transno;
         __u32 status;
         __u32 bufcount;
+        __u32 version;
         __u32 buflens[0];
 };
 
index d87ea31..92979c0 100644 (file)
@@ -197,6 +197,7 @@ struct ptlrpc_request *ptlrpc_prep_req(struct obd_import *imp, int opcode,
         spin_unlock(&conn->c_lock);
 
         request->rq_reqmsg->magic = PTLRPC_MSG_MAGIC; 
+        request->rq_reqmsg->version = PTLRPC_MSG_VERSION;
         request->rq_reqmsg->opc = HTON__u32(opcode);
         request->rq_reqmsg->flags = 0;
 
index 5af5c4f..e80a8de 100644 (file)
@@ -185,6 +185,14 @@ static int handle_incoming_request(struct obd_device *obddev,
                 goto out;
         }
 
+        if (request->rq_reqmsg->version != PTLRPC_MSG_VERSION) {
+                CERROR("wrong lustre_msg version %d: ptl %d from "LPX64" xid "
+                       LPD64"\n",
+                       request->rq_reqmsg->version, svc->srv_req_portal,
+                       event->initiator.nid, request->rq_xid);
+                goto out;
+        }
+
         CDEBUG(D_NET, "got req "LPD64" (md: %p + %d)\n", request->rq_xid,
                event->mem_desc.start, event->offset);