@@ -647,7 +647,10 @@ int osc_set_info_async(const struct lu_env *env, struct obd_export *exp,
struct ptlrpc_request_set *set);
int osc_ldlm_resource_invalidate(struct cfs_hash *hs, struct cfs_hash_bd *bd,
struct hlist_node *hnode, void *arg);
-
+int osc_reconnect(const struct lu_env *env, struct obd_export *exp,
+ struct obd_device *obd, struct obd_uuid *cluuid,
+ struct obd_connect_data *data, void *localdata);
+int osc_disconnect(struct obd_export *exp);
int osc_punch_send(struct obd_export *exp, struct obdo *oa,
obd_enqueue_update_f upcall, void *cookie);
@@ -205,7 +205,8 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt)
OBD_CONNECT_DIR_STRIPE |
OBD_CONNECT_BULK_MBITS | OBD_CONNECT_CKSUM |
OBD_CONNECT_SUBTREE |
- OBD_CONNECT_FLAGS2 | OBD_CONNECT_MULTIMODRPCS;
+ OBD_CONNECT_MULTIMODRPCS |
+ OBD_CONNECT_GRANT_PARAM | OBD_CONNECT_FLAGS2;
data->ocd_connect_flags2 = 0;
@@ -2596,7 +2596,8 @@ int mdc_process_config(struct obd_device *obd, u32 len, void *buf)
.add_conn = client_import_add_conn,
.del_conn = client_import_del_conn,
.connect = client_connect_import,
- .disconnect = client_disconnect_export,
+ .reconnect = osc_reconnect,
+ .disconnect = osc_disconnect,
.iocontrol = mdc_iocontrol,
.set_info_async = mdc_set_info_async,
.statfs = mdc_statfs,
@@ -2633,11 +2633,9 @@ int osc_set_info_async(const struct lu_env *env, struct obd_export *exp,
}
EXPORT_SYMBOL(osc_set_info_async);
-static int osc_reconnect(const struct lu_env *env,
- struct obd_export *exp, struct obd_device *obd,
- struct obd_uuid *cluuid,
- struct obd_connect_data *data,
- void *localdata)
+int osc_reconnect(const struct lu_env *env, struct obd_export *exp,
+ struct obd_device *obd, struct obd_uuid *cluuid,
+ struct obd_connect_data *data, void *localdata)
{
struct client_obd *cli = &obd->u.cli;
@@ -2663,8 +2661,9 @@ static int osc_reconnect(const struct lu_env *env,
return 0;
}
+EXPORT_SYMBOL(osc_reconnect);
-static int osc_disconnect(struct obd_export *exp)
+int osc_disconnect(struct obd_export *exp)
{
struct obd_device *obd = class_exp2obd(exp);
int rc;
@@ -2691,6 +2690,7 @@ static int osc_disconnect(struct obd_export *exp)
osc_del_shrink_grant(&obd->u.cli);
return rc;
}
+EXPORT_SYMBOL(osc_disconnect);
int osc_ldlm_resource_invalidate(struct cfs_hash *hs,
struct cfs_hash_bd *bd,