Commit 92efc152 authored by Zhen Wei's avatar Zhen Wei Committed by Mark Fasheh

ocfs2: export heartbeat thread pid via configfs

The patch allows the ocfs2 heartbeat thread to prioritize I/O which may
help cut down on spurious fencing. Most of this will be in the tools -
we can have a pid configfs attribute and let userspace (ocfs2_hb_ctl)
calls the ioprio_set syscall after starting heartbeat, but only cfq
scheduler supports I/O priorities now.
Signed-off-by: default avatarZhen Wei <zwei@novell.com>
Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
parent 7f4a2a97
...@@ -1447,6 +1447,15 @@ static ssize_t o2hb_region_dev_write(struct o2hb_region *reg, ...@@ -1447,6 +1447,15 @@ static ssize_t o2hb_region_dev_write(struct o2hb_region *reg,
return ret; return ret;
} }
static ssize_t o2hb_region_pid_read(struct o2hb_region *reg,
char *page)
{
if (!reg->hr_task)
return 0;
return sprintf(page, "%u\n", reg->hr_task->pid);
}
struct o2hb_region_attribute { struct o2hb_region_attribute {
struct configfs_attribute attr; struct configfs_attribute attr;
ssize_t (*show)(struct o2hb_region *, char *); ssize_t (*show)(struct o2hb_region *, char *);
...@@ -1485,11 +1494,19 @@ static struct o2hb_region_attribute o2hb_region_attr_dev = { ...@@ -1485,11 +1494,19 @@ static struct o2hb_region_attribute o2hb_region_attr_dev = {
.store = o2hb_region_dev_write, .store = o2hb_region_dev_write,
}; };
static struct o2hb_region_attribute o2hb_region_attr_pid = {
.attr = { .ca_owner = THIS_MODULE,
.ca_name = "pid",
.ca_mode = S_IRUGO | S_IRUSR },
.show = o2hb_region_pid_read,
};
static struct configfs_attribute *o2hb_region_attrs[] = { static struct configfs_attribute *o2hb_region_attrs[] = {
&o2hb_region_attr_block_bytes.attr, &o2hb_region_attr_block_bytes.attr,
&o2hb_region_attr_start_block.attr, &o2hb_region_attr_start_block.attr,
&o2hb_region_attr_blocks.attr, &o2hb_region_attr_blocks.attr,
&o2hb_region_attr_dev.attr, &o2hb_region_attr_dev.attr,
&o2hb_region_attr_pid.attr,
NULL, NULL,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment