Whamcloud - gitweb
LU-4971 ldlm: drop redundant ibits lock interoperability check
[fs/lustre-release.git] / lustre / ptlrpc / import.c
index c18855d..720ce1e 100644 (file)
@@ -1048,10 +1048,17 @@ finish:
 
                spin_unlock(&imp->imp_lock);
 
-               if (!ocd->ocd_ibits_known &&
-                   ocd->ocd_connect_flags & OBD_CONNECT_IBITS)
-                       CERROR("Inodebits aware server returned zero compatible"
-                              " bits?\n");
+               if ((imp->imp_connect_flags_orig & OBD_CONNECT_IBITS) &&
+                   !(ocd->ocd_connect_flags & OBD_CONNECT_IBITS)) {
+                       LCONSOLE_WARN("%s: MDS %s does not support ibits "
+                                     "lock, either very old or invalid: "
+                                     "requested "LPX64", replied "LPX64"\n",
+                                     imp->imp_obd->obd_name,
+                                     imp->imp_connection->c_remote_uuid.uuid,
+                                     imp->imp_connect_flags_orig,
+                                     ocd->ocd_connect_flags);
+                       GOTO(out, rc = -EPROTO);
+               }
 
                if (!warned && (ocd->ocd_connect_flags & OBD_CONNECT_VERSION) &&
                    (ocd->ocd_version > LUSTRE_VERSION_CODE +
@@ -1171,9 +1178,10 @@ finish:
                 else
                         imp->imp_msghdr_flags &= ~MSGHDR_CKSUM_INCOMPAT18;
 
-                LASSERT((cli->cl_max_pages_per_rpc <= PTLRPC_MAX_BRW_PAGES) &&
-                        (cli->cl_max_pages_per_rpc > 0));
-        }
+               LASSERT((cli->cl_max_pages_per_rpc <= PTLRPC_MAX_BRW_PAGES) &&
+                       (cli->cl_max_pages_per_rpc > 0));
+               client_adjust_max_dirty(cli);
+       }
 
 out:
        imp->imp_connect_tried = 1;