[2.6 patch] fs/ocfs2/: possible cleanups
[sfrench/cifs-2.6.git] / fs / ocfs2 / heartbeat.c
index b25ef63781baafa695e64b1660d12e6d1edf2cb5..0758daf64da07c41fcf4f73a7b55d634589ab87d 100644 (file)
@@ -30,9 +30,6 @@
 #include <linux/highmem.h>
 #include <linux/kmod.h>
 
-#include <cluster/heartbeat.h>
-#include <cluster/nodemanager.h>
-
 #include <dlm/dlmapi.h>
 
 #define MLOG_MASK_PREFIX ML_SUPER
 #include "heartbeat.h"
 #include "inode.h"
 #include "journal.h"
-#include "vote.h"
 
 #include "buffer_head_io.h"
 
-#define OCFS2_HB_NODE_DOWN_PRI     (0x0000002)
-#define OCFS2_HB_NODE_UP_PRI      OCFS2_HB_NODE_DOWN_PRI
-
 static inline void __ocfs2_node_map_set_bit(struct ocfs2_node_map *map,
                                            int bit);
 static inline void __ocfs2_node_map_clear_bit(struct ocfs2_node_map *map,
                                              int bit);
 static inline int __ocfs2_node_map_is_empty(struct ocfs2_node_map *map);
-static void __ocfs2_node_map_dup(struct ocfs2_node_map *target,
-                                struct ocfs2_node_map *from);
-static void __ocfs2_node_map_set(struct ocfs2_node_map *target,
-                                struct ocfs2_node_map *from);
+
+/* special case -1 for now
+ * TODO: should *really* make sure the calling func never passes -1!!  */
+static void ocfs2_node_map_init(struct ocfs2_node_map *map)
+{
+       map->num_nodes = OCFS2_NODE_MAP_MAX_NODES;
+       memset(map->map, 0, BITS_TO_LONGS(OCFS2_NODE_MAP_MAX_NODES) *
+              sizeof(unsigned long));
+}
 
 void ocfs2_init_node_maps(struct ocfs2_super *osb)
 {
        spin_lock_init(&osb->node_map_lock);
-       ocfs2_node_map_init(&osb->mounted_map);
        ocfs2_node_map_init(&osb->recovery_map);
-       ocfs2_node_map_init(&osb->umount_map);
        ocfs2_node_map_init(&osb->osb_recovering_orphan_dirs);
 }
 
@@ -87,24 +83,7 @@ static void ocfs2_do_node_down(int node_num,
                return;
        }
 
-       if (ocfs2_node_map_test_bit(osb, &osb->umount_map, node_num)) {
-               /* If a node is in the umount map, then we've been
-                * expecting him to go down and we know ahead of time
-                * that recovery is not necessary. */
-               ocfs2_node_map_clear_bit(osb, &osb->umount_map, node_num);
-               return;
-       }
-
        ocfs2_recovery_thread(osb, node_num);
-
-       ocfs2_remove_node_from_vote_queues(osb, node_num);
-}
-
-static void ocfs2_hb_node_down_cb(struct o2nm_node *node,
-                                 int node_num,
-                                 void *data)
-{
-       ocfs2_do_node_down(node_num, (struct ocfs2_super *) data);
 }
 
 /* Called from the dlm when it's about to evict a node. We may also
@@ -121,27 +100,8 @@ static void ocfs2_dlm_eviction_cb(int node_num,
        ocfs2_do_node_down(node_num, osb);
 }
 
-static void ocfs2_hb_node_up_cb(struct o2nm_node *node,
-                               int node_num,
-                               void *data)
-{
-       struct ocfs2_super *osb = data;
-
-       BUG_ON(osb->node_num == node_num);
-
-       mlog(0, "node up event for %d\n", node_num);
-       ocfs2_node_map_clear_bit(osb, &osb->umount_map, node_num);
-}
-
 void ocfs2_setup_hb_callbacks(struct ocfs2_super *osb)
 {
-       o2hb_setup_callback(&osb->osb_hb_down, O2HB_NODE_DOWN_CB,
-                           ocfs2_hb_node_down_cb, osb,
-                           OCFS2_HB_NODE_DOWN_PRI);
-
-       o2hb_setup_callback(&osb->osb_hb_up, O2HB_NODE_UP_CB,
-                           ocfs2_hb_node_up_cb, osb, OCFS2_HB_NODE_UP_PRI);
-
        /* Not exactly a heartbeat callback, but leads to essentially
         * the same path so we set it up here. */
        dlm_setup_eviction_cb(&osb->osb_eviction_cb,
@@ -149,39 +109,6 @@ void ocfs2_setup_hb_callbacks(struct ocfs2_super *osb)
                              osb);
 }
 
-/* Most functions here are just stubs for now... */
-int ocfs2_register_hb_callbacks(struct ocfs2_super *osb)
-{
-       int status;
-
-       if (ocfs2_mount_local(osb))
-               return 0;
-
-       status = o2hb_register_callback(&osb->osb_hb_down);
-       if (status < 0) {
-               mlog_errno(status);
-               goto bail;
-       }
-
-       status = o2hb_register_callback(&osb->osb_hb_up);
-       if (status < 0) {
-               mlog_errno(status);
-               o2hb_unregister_callback(&osb->osb_hb_down);
-       }
-
-bail:
-       return status;
-}
-
-void ocfs2_clear_hb_callbacks(struct ocfs2_super *osb)
-{
-       if (ocfs2_mount_local(osb))
-               return;
-
-       o2hb_unregister_callback(&osb->osb_hb_down);
-       o2hb_unregister_callback(&osb->osb_hb_up);
-}
-
 void ocfs2_stop_heartbeat(struct ocfs2_super *osb)
 {
        int ret;
@@ -209,20 +136,11 @@ void ocfs2_stop_heartbeat(struct ocfs2_super *osb)
        envp[1] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin";
        envp[2] = NULL;
 
-       ret = call_usermodehelper(argv[0], argv, envp, 1);
+       ret = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
        if (ret < 0)
                mlog_errno(ret);
 }
 
-/* special case -1 for now
- * TODO: should *really* make sure the calling func never passes -1!!  */
-void ocfs2_node_map_init(struct ocfs2_node_map *map)
-{
-       map->num_nodes = OCFS2_NODE_MAP_MAX_NODES;
-       memset(map->map, 0, BITS_TO_LONGS(OCFS2_NODE_MAP_MAX_NODES) *
-              sizeof(unsigned long));
-}
-
 static inline void __ocfs2_node_map_set_bit(struct ocfs2_node_map *map,
                                            int bit)
 {
@@ -294,6 +212,8 @@ int ocfs2_node_map_is_empty(struct ocfs2_super *osb,
        return ret;
 }
 
+#if 0
+
 static void __ocfs2_node_map_dup(struct ocfs2_node_map *target,
                                 struct ocfs2_node_map *from)
 {
@@ -332,6 +252,8 @@ static void __ocfs2_node_map_set(struct ocfs2_node_map *target,
                target->map[i] = from->map[i];
 }
 
+#endif  /*  0  */
+
 /* Returns whether the recovery bit was actually set - it may not be
  * if a node is still marked as needing recovery */
 int ocfs2_recovery_map_set(struct ocfs2_super *osb,
@@ -341,8 +263,6 @@ int ocfs2_recovery_map_set(struct ocfs2_super *osb,
 
        spin_lock(&osb->node_map_lock);
 
-       __ocfs2_node_map_clear_bit(&osb->mounted_map, num);
-
        if (!test_bit(num, osb->recovery_map.map)) {
            __ocfs2_node_map_set_bit(&osb->recovery_map, num);
            set = 1;