From: Guoqing Jiang Date: Wed, 16 Dec 2015 17:54:25 +0000 (+0800) Subject: mdadm: do not try to hold dlm lock in free_super1 X-Git-Tag: mdadm-3.4~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b78e47021170527e9f173b05e3adac41f8bccf9;p=thirdparty%2Fmdadm.git mdadm: do not try to hold dlm lock in free_super1 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 Signed-off-by: NeilBrown --- diff --git a/super1.c b/super1.c index 7b2bd869..2f1b6dc6 100644 --- 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