浏览代码

[DLM] PATCH 3/3 dlm: show recover state

Expose the current recovery state in sysfs to help in debugging.

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
David Teigland 19 年之前
父节点
当前提交
c56b39cd2c
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      fs/dlm/lockspace.c

+ 13 - 0
fs/dlm/lockspace.c

@@ -21,6 +21,7 @@
 #include "config.h"
 #include "memory.h"
 #include "lock.h"
+#include "recover.h"
 
 #ifdef CONFIG_DLM_DEBUG
 int dlm_create_debug_file(struct dlm_ls *ls);
@@ -74,6 +75,12 @@ static ssize_t dlm_id_store(struct dlm_ls *ls, const char *buf, size_t len)
 	return len;
 }
 
+static ssize_t dlm_recover_status_show(struct dlm_ls *ls, char *buf)
+{
+	uint32_t status = dlm_recover_status(ls);
+	return sprintf(buf, "%x\n", status);
+}
+
 struct dlm_attr {
 	struct attribute attr;
 	ssize_t (*show)(struct dlm_ls *, char *);
@@ -96,10 +103,16 @@ static struct dlm_attr dlm_attr_id = {
 	.store = dlm_id_store
 };
 
+static struct dlm_attr dlm_attr_recover_status = {
+	.attr  = {.name = "recover_status", .mode = S_IRUGO},
+	.show  = dlm_recover_status_show
+};
+
 static struct attribute *dlm_attrs[] = {
 	&dlm_attr_control.attr,
 	&dlm_attr_event.attr,
 	&dlm_attr_id.attr,
+	&dlm_attr_recover_status.attr,
 	NULL,
 };