Bug 972442

Summary: libdlm: dlm_controld[1993]: 44 /sys/kernel/config/dlm/cluster: mkdir failed: 12
Product: [openSUSE] openSUSE Tumbleweed Reporter: zhen ren <zren>
Component: High AvailabilityAssignee: zhen ren <zren>
Status: RESOLVED UPSTREAM QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
See Also: http://bugzilla.suse.com/show_bug.cgi?id=979108
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: hb_report

Description zhen ren 2016-03-24 01:56:10 UTC
Created attachment 670287 [details]
hb_report

I build the latest mainline kernel, and install on sle12 sp1. But don't
know why the dlm RA cannot start up?

ocfs2test1:~ # crm status
Last updated: Thu Mar 24 09:55:18 2016		Last change: Wed Mar 23 21:45:33 2016 by root via cibadmin on ocfs2test1
Stack: corosync
Current DC: ocfs2test2 (version 1.1.13-10.4-6f22ad7) - partition with quorum
3 nodes and 5 resources configured

Online: [ ocfs2test1 ocfs2test2 ocfs2test3 ]

Full list of resources:

 stonith-sbd	(stonith:external/sbd):	Started ocfs2test1
 Clone Set: base-clone [base-group]
     Stopped: [ ocfs2test1 ocfs2test2 ocfs2test3 ]

Failed Actions:
* dlm_start_0 on ocfs2test2 'not running' (7): call=15, status=complete, exitreason='none',
    last-rc-change='Thu Mar 24 09:39:08 2016', queued=0ms, exec=1054ms
* dlm_start_0 on ocfs2test3 'not running' (7): call=15, status=complete, exitreason='none',
    last-rc-change='Thu Mar 24 09:39:08 2016', queued=0ms, exec=1066ms
* dlm_start_0 on ocfs2test1 'not running' (7): call=16, status=complete, exitreason='none',
    last-rc-change='Thu Mar 24 09:39:08 2016', queued=0ms, exec=1051ms
Comment 1 zhen ren 2016-03-24 01:57:49 UTC
Mar 24 09:39:09 ocfs2test1 crmd[1867]: notice: Operation dlm_stop_0: ok (node=ocfs2test1, call=17, rc=0, cib-update=15, confirmed=true)
Mar 24 09:39:09 ocfs2test1 lrmd[1864]: notice: finished - rsc:dlm action:stop call_id:17 pid:2013 exit-code:0 exec-time:15ms queue-time:0ms
Mar 24 09:39:09 ocfs2test1 lrmd[1864]: notice: executing - rsc:dlm action:stop call_id:17
Mar 24 09:39:09 ocfs2test1 crmd[1867]: notice: Operation stonith-sbd_start_0: ok (node=ocfs2test1, call=15, rc=0, cib-update=14, confirmed=true)
Mar 24 09:39:09 ocfs2test1 lrmd[1864]: notice: finished - rsc:stonith-sbd action:start call_id:15  exit-code:0 exec-time:1187ms queue-time:0ms
Mar 24 09:39:09 ocfs2test1 crmd[1867]: notice: Operation dlm_start_0: not running (node=ocfs2test1, call=16, rc=7, cib-update=13, confirmed=true)
Mar 24 09:39:09 ocfs2test1 lrmd[1864]: notice: finished - rsc:dlm action:start call_id:16 pid:1965 exit-code:7 exec-time:1051ms queue-time:0ms
Mar 24 09:39:08 ocfs2test1 dlm_controld[1993]: 44 /sys/kernel/config/dlm/cluster: mkdir failed: 12
Mar 24 09:39:08 ocfs2test1 dlm_controld[1993]: 44 dlm_controld 4.0.2 started
Mar 24 09:39:08 ocfs2test1 mount[1985]: mount: configfs is already mounted or /sys/kernel/config busy
Mar 24 09:39:08 ocfs2test1 kernel: DLM installed
Comment 2 zhen ren 2016-03-24 02:06:19 UTC
Upstream:

Commit 1ae1602de0 "configfs: switch ->default groups to a linked list"
left the NULL gps pointer behind after removing the kcalloc() call which
made it non-NULL. It also left the !gps check in place so make_cluster()
now fails with ENOMEM. Remove the remaining uses of the gps variable to
fix that.

Reviewed-by: Bob Peterson <rpeterso@redhat.com>
Reviewed-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Andrew Price <anprice@redhat.com>
---
 fs/dlm/config.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/dlm/config.c b/fs/dlm/config.c
index 5191121..1669f62 100644
--- a/fs/dlm/config.c
+++ b/fs/dlm/config.c
@@ -343,13 +343,12 @@ static struct config_group *make_cluster(struct config_group *g,
 	struct dlm_cluster *cl = NULL;
 	struct dlm_spaces *sps = NULL;
 	struct dlm_comms *cms = NULL;
-	void *gps = NULL;
 
 	cl = kzalloc(sizeof(struct dlm_cluster), GFP_NOFS);
 	sps = kzalloc(sizeof(struct dlm_spaces), GFP_NOFS);
 	cms = kzalloc(sizeof(struct dlm_comms), GFP_NOFS);
 
-	if (!cl || !gps || !sps || !cms)
+	if (!cl || !sps || !cms)
 		goto fail;
 
 	config_group_init_type_name(&cl->group, name, &cluster_type);
Comment 3 zhen ren 2016-03-24 02:07:35 UTC
upstream has fixed this