From: adilger Date: Fri, 21 Jun 2002 06:42:42 +0000 (+0000) Subject: Merge from posix_stable. X-Git-Tag: 0.4.2~96 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=00b7a86ac4208c03bd5f79d6369ce4ed94a6150e;p=fs%2Flustre-release.git Merge from posix_stable. --- diff --git a/lustre/ptlrpc/rpc.c b/lustre/ptlrpc/rpc.c index 220ab74..b9b46f8 100644 --- a/lustre/ptlrpc/rpc.c +++ b/lustre/ptlrpc/rpc.c @@ -35,45 +35,48 @@ int connmgr_setup(struct obd_device *obddev, obd_count len, void *buf) int err; ENTRY; + MOD_INC_USE_COUNT; memset(recovd, 0, sizeof(*recovd)); OBD_ALLOC(recovd->recovd_client, sizeof(*recovd->recovd_client)); if (!recovd) - RETURN(-ENOMEM); + GOTO(err_dev, err = -ENOMEM); err = recovd_setup(recovd); if (err) GOTO(err_free, err); - recovd->recovd_service = - ptlrpc_init_svc(128 * 1024,CONNMGR_REQUEST_PORTAL, - CONNMGR_REPLY_PORTAL, "self", connmgr_handle); + recovd->recovd_service = ptlrpc_init_svc(128 * 1024, + CONNMGR_REQUEST_PORTAL, + CONNMGR_REPLY_PORTAL, + "self", connmgr_handle); if (!recovd->recovd_service) { CERROR("failed to start service\n"); - GOTO(err_recovd, err = -EINVAL); + GOTO(err_recovd, err = -ENOMEM); } - ptlrpc_init_client(NULL, NULL, CONNMGR_REQUEST_PORTAL, + ptlrpc_init_client(NULL, NULL, CONNMGR_REQUEST_PORTAL, CONNMGR_REPLY_PORTAL, recovd->recovd_client); - recovd->recovd_client->cli_name = "connmgr"; + recovd->recovd_client->cli_name = "connmgr"; - err = ptlrpc_start_thread(obddev, recovd->recovd_service, "lustre_connmgr"); + err = ptlrpc_start_thread(obddev, recovd->recovd_service, + "lustre_connmgr"); if (err) { CERROR("cannot start thread\n"); GOTO(err_svc, err); } - MOD_INC_USE_COUNT; ptlrpc_connmgr = recovd; RETURN(0); - err_svc: +err_svc: rpc_unregister_service(recovd->recovd_service); - err_recovd: - recovd_cleanup(recovd); - err_free: - if (recovd->recovd_client) - OBD_FREE(recovd->recovd_client, sizeof(*recovd->recovd_client)); +err_recovd: + recovd_cleanup(recovd); +err_free: + OBD_FREE(recovd->recovd_client, sizeof(*recovd->recovd_client)); +err_dec: + MOD_DEC_USE_COUNT; RETURN(err); } @@ -82,8 +85,8 @@ int connmgr_cleanup(struct obd_device *dev) struct recovd_obd *recovd = &dev->u.recovd; int err; - err = recovd_cleanup(recovd); - if (err) + err = recovd_cleanup(recovd); + if (err) LBUG(); ptlrpc_stop_all_threads(recovd->recovd_service);