Whamcloud - gitweb
LU-7063 llog: fix leak of lock in llog_ost_destroy() 71/16471/2
authorBob Glossman <bob.glossman@intel.com>
Thu, 17 Sep 2015 18:34:01 +0000 (11:34 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 22 Sep 2015 03:35:19 +0000 (03:35 +0000)
Previous fix
http://review.whamcloud.com/#/c/15730/7/lustre/obdclass/llog_osd.c.
introduced the leak of a lock in the case of an error return from
llog_osd_dir_get().  This fixes that error path.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I38f709c5805e23322de988065c83e1a8079bded6
Reviewed-on: http://review.whamcloud.com/16471
Tested-by: Jenkins
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/obdclass/llog_osd.c

index 53c9d3b..8dc6c40 100644 (file)
@@ -1674,7 +1674,7 @@ static int llog_osd_destroy(const struct lu_env *env,
        if (loghandle->lgh_name) {
                llog_dir = llog_osd_dir_get(env, ctxt);
                if (IS_ERR(llog_dir))
-                       RETURN(PTR_ERR(llog_dir));
+                       GOTO(out_unlock, rc = PTR_ERR(llog_dir));
 
                dt_read_lock(env, llog_dir, 0);
                rc = dt_delete(env, llog_dir,