From b7a001a02504fe75fe50f3b7cca1d793e3141221 Mon Sep 17 00:00:00 2001 From: bobijam Date: Tue, 12 Aug 2008 01:52:43 +0000 Subject: [PATCH] Branch HEAD 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 | 6 ++++++ lustre/mgs/mgs_handler.c | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 83f700f..f637574 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -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. diff --git a/lustre/mgs/mgs_handler.c b/lustre/mgs/mgs_handler.c index 2462f16..7673c43 100644 --- a/lustre/mgs/mgs_handler.c +++ b/lustre/mgs/mgs_handler.c @@ -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, -- 1.8.3.1