From 7cf10b90d62256aa4d177486ff13bd61dfb9a5ff Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Mon, 27 Sep 2021 12:29:58 -0600 Subject: [PATCH] LU-15038 mgc: release cl_mgc_mutex on error If local_oid_storage_init() returns an error, the cl_mgc_mutex() should be released. Fixes: 3e38436dc09 ("LU-2059 llog: MGC to use OSD API for backup logs") Signed-off-by: Andreas Dilger Change-Id: I921dde4e9202733874d8e7f980e95af23739a655 Reviewed-on: https://review.whamcloud.com/45063 Tested-by: jenkins Reviewed-by: James Simmons Reviewed-by: Arshad Hussain Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/mgc/mgc_request.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lustre/mgc/mgc_request.c b/lustre/mgc/mgc_request.c index 96973e1..000937c 100644 --- a/lustre/mgc/mgc_request.c +++ b/lustre/mgc/mgc_request.c @@ -797,7 +797,7 @@ static int mgc_fs_setup(const struct lu_env *env, struct obd_device *obd, rc = local_oid_storage_init(env, lsi->lsi_dt_dev, &fid, &cli->cl_mgc_los); if (rc) - RETURN(rc); + GOTO(out_mutex, rc); rc = dt_root_get(env, lsi->lsi_dt_dev, &rfid); if (rc) @@ -836,6 +836,7 @@ out_llog: out_los: if (rc < 0) { local_oid_storage_fini(env, cli->cl_mgc_los); +out_mutex: cli->cl_mgc_los = NULL; mutex_unlock(&cli->cl_mgc_mutex); } -- 1.8.3.1