fs/ocfs2/dlm: Add missing spin_unlock
authorJulia Lawall <julia@diku.dk>
Wed, 26 May 2010 15:58:53 +0000 (17:58 +0200)
committerJoel Becker <joel.becker@oracle.com>
Tue, 15 Jun 2010 22:43:46 +0000 (15:43 -0700)
Add a spin_unlock missing on the error path.  Unlock as in the other code
that leads to the leave label.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression E1;
@@

* spin_lock(E1,...);
  <+... when != E1
  if (...) {
    ... when != E1
*   return ...;
  }
  ...+>
* spin_unlock(E1,...);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/dlm/dlmdomain.c

index 6b5a492..2ccad86 100644 (file)
@@ -1709,6 +1709,7 @@ retry:
                }
 
                if (dlm_protocol_compare(&dlm->fs_locking_proto, fs_proto)) {
+                       spin_unlock(&dlm_domain_lock);
                        mlog(ML_ERROR,
                             "Requested locking protocol version is not "
                             "compatible with already registered domain "