Whamcloud - gitweb
Branch HEAD
authorbobijam <bobijam>
Tue, 12 Aug 2008 01:52:43 +0000 (01:52 +0000)
committerbobijam <bobijam>
Tue, 12 Aug 2008 01:52:43 +0000 (01:52 +0000)
b=16237
o=Brian Behlendorf(behlendorf1@llnl.gov)
i=adilger, nathan

Description: Early reply size mismatch, MGC loses connection
Details    : Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so
             the connect flags are properly negotiated.

lustre/ChangeLog
lustre/mgs/mgs_handler.c

index 83f700f..f637574 100644 (file)
@@ -13,6 +13,12 @@ tbd  Sun Microsystems, Inc.
         removed cwd "./" (refer to Bugzilla 14399).
 
 Severity   : normal
+Bugzila    : 16237
+Description: Early reply size mismatch, MGC loses connection
+Details    : Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so
+             the connect flags are properly negotiated.
+
+Severity   : normal
 Bugzilla   : 16006
 Description: Properly propagate oinfo flags from lov to osc for statfs   
 Details    : restore missing copy oi_flags to lov requests.
index 2462f16..7673c43 100644 (file)
@@ -99,6 +99,24 @@ static int mgs_connect(const struct lu_env *env,
         RETURN(rc);
 }
 
+static int mgs_reconnect(const struct lu_env *env,
+                         struct obd_export *exp, struct obd_device *obd,
+                         struct obd_uuid *cluuid, struct obd_connect_data *data)
+{
+        ENTRY;
+
+        if (exp == NULL || obd == NULL || cluuid == NULL)
+                RETURN(-EINVAL);
+
+        if (data != NULL) {
+                data->ocd_connect_flags &= MGS_CONNECT_SUPPORTED;
+                exp->exp_connect_flags = data->ocd_connect_flags;
+                data->ocd_version = LUSTRE_VERSION_CODE;
+        }
+
+        RETURN(0);
+}
+
 static int mgs_disconnect(struct obd_export *exp)
 {
         int rc;
@@ -783,6 +801,7 @@ out_free:
 static struct obd_ops mgs_obd_ops = {
         .o_owner           = THIS_MODULE,
         .o_connect         = mgs_connect,
+        .o_reconnect       = mgs_reconnect,
         .o_disconnect      = mgs_disconnect,
         .o_setup           = mgs_setup,
         .o_precleanup      = mgs_precleanup,