ocfs2/cluster: Pin the local node when o2hb thread starts
authorSunil Mushran <sunil.mushran@oracle.com>
Tue, 14 Dec 2010 22:14:31 +0000 (14:14 -0800)
committerJoel Becker <joel.becker@oracle.com>
Thu, 16 Dec 2010 08:48:26 +0000 (00:48 -0800)
The patch pins the node item of the local node when the o2hb thread
starts and unpins on stop.

An earlier patch pinned the node item of the remote node on o2net
connect and unpinned on disconnect.

Signed-off-by Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/cluster/heartbeat.c

index 3722e3850a1f94ae6cf652437da21bb33f926767..8b50c1ad7a6963af232a659c9a89a10e56194d25 100644 (file)
@@ -1083,6 +1083,9 @@ static int o2hb_thread(void *data)
 
        set_user_nice(current, -20);
 
+       /* Pin node */
+       o2nm_depend_this_node();
+
        while (!kthread_should_stop() && !reg->hr_unclean_stop) {
                /* We track the time spent inside
                 * o2hb_do_disk_heartbeat so that we avoid more than
@@ -1132,6 +1135,9 @@ static int o2hb_thread(void *data)
                mlog_errno(ret);
        }
 
+       /* Unpin node */
+       o2nm_undepend_this_node();
+
        mlog(ML_HEARTBEAT|ML_KTHREAD, "hb thread exiting\n");
 
        return 0;
This page took 0.026609 seconds and 5 git commands to generate.