Whamcloud - gitweb
b=24243 Invalid WNC intent lock makes server LBUG
[fs/lustre-release.git] / lustre / mdt / mdt_handler.c
index 6a249bb..7300d48 100644 (file)
@@ -2209,7 +2209,8 @@ int mdt_object_lock(struct mdt_thread_info *info, struct mdt_object *o,
                         RETURN(-ESTALE);
                 } else {
                         /* Non-dir object shouldn't have PDO lock */
-                        LASSERT(S_ISDIR(lu_object_attr(&o->mot_obj.mo_lu)));
+                        if (!S_ISDIR(lu_object_attr(&o->mot_obj.mo_lu)))
+                                RETURN(-ENOTDIR);
                 }
         }
 
@@ -3894,7 +3895,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
         if (m->mdt_regular_service == NULL)
                 RETURN(-ENOMEM);
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_regular_service);
+        rc = ptlrpc_start_threads(m->mdt_regular_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -3924,7 +3925,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_readpage_service);
+        rc = ptlrpc_start_threads(m->mdt_readpage_service);
 
         /*
          * setattr service configuration.
@@ -3952,7 +3953,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_setattr_service);
+        rc = ptlrpc_start_threads(m->mdt_setattr_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -3981,7 +3982,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_mdsc_service);
+        rc = ptlrpc_start_threads(m->mdt_mdsc_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -4010,7 +4011,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_mdss_service);
+        rc = ptlrpc_start_threads(m->mdt_mdss_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -4042,7 +4043,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_dtss_service);
+        rc = ptlrpc_start_threads(m->mdt_dtss_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -4069,7 +4070,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_fld_service);
+        rc = ptlrpc_start_threads(m->mdt_fld_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -4099,7 +4100,7 @@ static int mdt_start_ptlrpc_service(struct mdt_device *m)
                 GOTO(err_mdt_svc, rc = -ENOMEM);
         }
 
-        rc = ptlrpc_start_threads(NULL, m->mdt_xmds_service);
+        rc = ptlrpc_start_threads(m->mdt_xmds_service);
         if (rc)
                 GOTO(err_mdt_svc, rc);
 
@@ -4610,7 +4611,8 @@ static int mdt_init0(const struct lu_env *env, struct mdt_device *m,
                  LUSTRE_MDT_NAME"-%p", m);
         m->mdt_namespace = ldlm_namespace_new(obd, info->mti_u.ns_name,
                                               LDLM_NAMESPACE_SERVER,
-                                              LDLM_NAMESPACE_GREEDY);
+                                              LDLM_NAMESPACE_GREEDY,
+                                              LDLM_NS_TYPE_MDT);
         if (m->mdt_namespace == NULL)
                 GOTO(err_fini_seq, rc = -ENOMEM);