Whamcloud - gitweb
adjust gss upcall timeout value just be secinit timeout, service gss upcall
[fs/lustre-release.git] / lustre / mgmt / mgmt_svc.c
index 0dff689..9debe47 100644 (file)
@@ -49,11 +49,28 @@ static int mgmt_ping(struct ptlrpc_request *req)
         return lustre_pack_msg(0, NULL, NULL, &req->rq_replen, &req->rq_repmsg);
 }
 
+static int mgmt_msg_check_version(struct lustre_msg *msg)
+{
+        if (lustre_msg_check_version(msg, LUSTRE_OBD_VERSION)) {
+                CERROR("bad opc %u version %08x, expecting %08x\n",
+                       msg->opc, msg->version, LUSTRE_OBD_VERSION);
+                return -EINVAL;
+        }
+
+        return 0;
+}
+
 static int mgmt_handler(struct ptlrpc_request *req)
 {
         int rc;
         ENTRY;
 
+        rc = mgmt_msg_check_version(req->rq_reqmsg);
+        if (rc) {
+                CERROR("MGMT drop mal-formed request\n");
+                RETURN(rc);
+        }
+
         switch (req->rq_reqmsg->opc) {
         case OBD_PING:
                 DEBUG_REQ(D_RPCTRACE, req, "ping");
@@ -89,10 +106,9 @@ static int mgmt_setup(struct obd_device *obd, obd_count len, void *buf)
                 RETURN(-EALREADY);
         
         mgmt_service = 
-                ptlrpc_init_svc(MGMT_NBUFS, MGMT_BUFSIZE, MGMT_MAXREQSIZE, 
-                                MGMT_REQUEST_PORTAL, MGMT_REPLY_PORTAL, 
-                                mgmt_handler, "mgmt",
-                                obd->obd_proc_entry);
+                ptlrpc_init_svc(MGMT_NBUFS, MGMT_BUFSIZE, MGMT_MAXREQSIZE,
+                                MGMT_REQUEST_PORTAL, MGMT_REPLY_PORTAL, 30000,
+                                mgmt_handler, "mgmt", obd->obd_proc_entry);
         if (!mgmt_service) {
                 CERROR("Failed to start mgmt service\n");
                 RETURN(-ENOMEM);
@@ -134,7 +150,8 @@ static struct obd_ops mgmt_obd_ops = {
 
 static int __init mgmt_init(void)
 {
-        int rc = class_register_type(&mgmt_obd_ops, 0, MGMT_DEVICE_NAME);
+        int rc = class_register_type(&mgmt_obd_ops, NULL, 
+                                    0, MGMT_DEVICE_NAME);
 
         return rc;
 }