From 5914255b823f32ce0b075988cd7fc80536d344c7 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. Lustre-change: https://review.whamcloud.com/45063 Lustre-commit: 7cf10b90d62256aa4d177486ff13bd61dfb9a5ff Fixes: 3e38436dc09 ("LU-2059 llog: MGC to use OSD API for backup logs") Signed-off-by: Andreas Dilger Change-Id: I921dde4e9202733874d8e7f980e95af23739a655 Reviewed-by: James Simmons Reviewed-by: Arshad Hussain Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/45330 Tested-by: jenkins Tested-by: Maloo --- 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 00ee152..772a9cc 100644 --- a/lustre/mgc/mgc_request.c +++ b/lustre/mgc/mgc_request.c @@ -795,7 +795,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) @@ -834,6 +834,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