提交 faa0f267 编写于 作者: D David Teigland 提交者: Steven Whitehouse

[DLM] show nodeid for recovery message

To aid debugging, it's useful to be able to see what nodeid the dlm is
waiting on for a message reply.
Signed-off-by: NDavid Teigland <teigland@redhat.com>
Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
上级 06442440
...@@ -467,6 +467,7 @@ struct dlm_ls { ...@@ -467,6 +467,7 @@ struct dlm_ls {
struct list_head ls_requestqueue;/* queue remote requests */ struct list_head ls_requestqueue;/* queue remote requests */
struct mutex ls_requestqueue_mutex; struct mutex ls_requestqueue_mutex;
char *ls_recover_buf; char *ls_recover_buf;
int ls_recover_nodeid; /* for debugging */
struct list_head ls_recover_list; struct list_head ls_recover_list;
spinlock_t ls_recover_list_lock; spinlock_t ls_recover_list_lock;
int ls_recover_list_count; int ls_recover_list_count;
......
...@@ -81,6 +81,11 @@ static ssize_t dlm_recover_status_show(struct dlm_ls *ls, char *buf) ...@@ -81,6 +81,11 @@ static ssize_t dlm_recover_status_show(struct dlm_ls *ls, char *buf)
return sprintf(buf, "%x\n", status); return sprintf(buf, "%x\n", status);
} }
static ssize_t dlm_recover_nodeid_show(struct dlm_ls *ls, char *buf)
{
return sprintf(buf, "%d\n", ls->ls_recover_nodeid);
}
struct dlm_attr { struct dlm_attr {
struct attribute attr; struct attribute attr;
ssize_t (*show)(struct dlm_ls *, char *); ssize_t (*show)(struct dlm_ls *, char *);
...@@ -108,11 +113,17 @@ static struct dlm_attr dlm_attr_recover_status = { ...@@ -108,11 +113,17 @@ static struct dlm_attr dlm_attr_recover_status = {
.show = dlm_recover_status_show .show = dlm_recover_status_show
}; };
static struct dlm_attr dlm_attr_recover_nodeid = {
.attr = {.name = "recover_nodeid", .mode = S_IRUGO},
.show = dlm_recover_nodeid_show
};
static struct attribute *dlm_attrs[] = { static struct attribute *dlm_attrs[] = {
&dlm_attr_control.attr, &dlm_attr_control.attr,
&dlm_attr_event.attr, &dlm_attr_event.attr,
&dlm_attr_id.attr, &dlm_attr_id.attr,
&dlm_attr_recover_status.attr, &dlm_attr_recover_status.attr,
&dlm_attr_recover_nodeid.attr,
NULL, NULL,
}; };
......
...@@ -176,7 +176,8 @@ static int ping_members(struct dlm_ls *ls) ...@@ -176,7 +176,8 @@ static int ping_members(struct dlm_ls *ls)
break; break;
} }
if (error) if (error)
log_debug(ls, "ping_members aborted %d", error); log_debug(ls, "ping_members aborted %d last nodeid %d",
error, ls->ls_recover_nodeid);
return error; return error;
} }
......
...@@ -97,6 +97,7 @@ int dlm_rcom_status(struct dlm_ls *ls, int nodeid) ...@@ -97,6 +97,7 @@ int dlm_rcom_status(struct dlm_ls *ls, int nodeid)
int error = 0; int error = 0;
memset(ls->ls_recover_buf, 0, dlm_config.buffer_size); memset(ls->ls_recover_buf, 0, dlm_config.buffer_size);
ls->ls_recover_nodeid = nodeid;
if (nodeid == dlm_our_nodeid()) { if (nodeid == dlm_our_nodeid()) {
rc = (struct dlm_rcom *) ls->ls_recover_buf; rc = (struct dlm_rcom *) ls->ls_recover_buf;
...@@ -159,6 +160,7 @@ int dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name, int last_len) ...@@ -159,6 +160,7 @@ int dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name, int last_len)
int error = 0, len = sizeof(struct dlm_rcom); int error = 0, len = sizeof(struct dlm_rcom);
memset(ls->ls_recover_buf, 0, dlm_config.buffer_size); memset(ls->ls_recover_buf, 0, dlm_config.buffer_size);
ls->ls_recover_nodeid = nodeid;
if (nodeid == dlm_our_nodeid()) { if (nodeid == dlm_our_nodeid()) {
dlm_copy_master_names(ls, last_name, last_len, dlm_copy_master_names(ls, last_name, last_len,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册