From bad9abfa942bf41e10b660b799aac0e52d95d437 Mon Sep 17 00:00:00 2001 From: wangdi Date: Thu, 28 Sep 2006 03:00:31 +0000 Subject: [PATCH] Branch: b_new_cmd For connection between mds, we should set Local flags, because mdt will return this anyway --- lustre/cmm/mdc_device.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lustre/cmm/mdc_device.c b/lustre/cmm/mdc_device.c index 1780677..d2104b3 100644 --- a/lustre/cmm/mdc_device.c +++ b/lustre/cmm/mdc_device.c @@ -98,13 +98,18 @@ static int mdc_add_obd(const struct lu_context *ctx, rc = -EINVAL; } else { struct lustre_handle *conn = &desc->cl_conn; + struct obd_connect_data *ocd; CDEBUG(D_CONFIG, "connect to %s(%s)\n", mdc->obd_name, mdc->obd_uuid.uuid); - - rc = obd_connect(ctx, conn, mdc, &mdc->obd_uuid, NULL); - + OBD_ALLOC_PTR(ocd); + if (!ocd) + RETURN(-ENOMEM); + /* The connection between MDS must be local */ + ocd->ocd_connect_flags |= OBD_CONNECT_LCL_CLIENT; + rc = obd_connect(ctx, conn, mdc, &mdc->obd_uuid, ocd); + OBD_FREE_PTR(ocd); if (rc) { CERROR("target %s connect error %d\n", mdc->obd_name, rc); -- 1.8.3.1