File 0139-mdadm-do-not-try-to-hold-dlm-lock-in-free_super1.patch of Package mdadm.5365
From 1b78e47021170527e9f173b05e3adac41f8bccf9 Mon Sep 17 00:00:00 2001
From: Guoqing Jiang <gqjiang@suse.com>
Date: Thu, 17 Dec 2015 01:54:25 +0800
Subject: [PATCH 194/359] mdadm: do not try to hold dlm lock in free_super1
References: bsc#1081910
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>
Signed-off-by: Coly Li <colyli@suse.de>
---
super1.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/super1.c b/super1.c
index 7b2bd86..2f1b6dc 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
--
2.16.1