]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdadm: do not try to hold dlm lock in free_super1
authorGuoqing Jiang <gqjiang@suse.com>
Wed, 16 Dec 2015 17:54:25 +0000 (01:54 +0800)
committerNeilBrown <neilb@suse.com>
Wed, 16 Dec 2015 22:51:46 +0000 (09:51 +1100)
Since free_super1 actually doesn't change the sb, it
just free the addr space of sb. Also free_super1 is
called in lots of place within mdadm, so remove dlm
lock code since the func doesn't need the protection
and also reduce latency.

Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: NeilBrown <neilb@suse.com>
super1.c

index 7b2bd86927ec59ecde6c27a07de6af540f291548..2f1b6dc678c6e43edc37cc060d7bbcefc16d991b 100644 (file)
--- a/super1.c
+++ b/super1.c
@@ -2422,15 +2422,6 @@ static int write_bitmap1(struct supertype *st, int fd, enum bitmap_update update
 
 static void free_super1(struct supertype *st)
 {
-       int rv, lockid;
-       if (is_clustered(st)) {
-               rv = cluster_get_dlmlock(st, &lockid);
-               if (rv) {
-                       pr_err("Cannot get dlmlock in %s return %d\n", __func__, rv);
-                       cluster_release_dlmlock(st, lockid);
-                       return;
-               }
-       }
 
        if (st->sb)
                free(st->sb);
@@ -2442,8 +2433,6 @@ static void free_super1(struct supertype *st)
                free(di);
        }
        st->sb = NULL;
-       if (is_clustered(st))
-               cluster_release_dlmlock(st, lockid);
 }
 
 #ifndef MDASSEMBLE