summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.h
diff options
context:
space:
mode:
authorGoldwyn Rodrigues <rgoldwyn@suse.com>2014-03-29 16:01:53 +0100
committerGoldwyn Rodrigues <rgoldwyn@suse.com>2015-02-23 14:28:42 +0100
commitedb39c9deda87da5aad9c090e2e8eaf8470c852c (patch)
tree22b789f9e6bdcfd892d9f6a7e757e1fe58579795 /drivers/md/md.h
parentDLM lock and unlock functions (diff)
downloadlinux-edb39c9deda87da5aad9c090e2e8eaf8470c852c.tar.xz
linux-edb39c9deda87da5aad9c090e2e8eaf8470c852c.zip
Introduce md_cluster_operations to handle cluster functions
This allows dynamic registering of cluster hooks. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Diffstat (limited to 'drivers/md/md.h')
-rw-r--r--drivers/md/md.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h
index 318ca8fd430f..018593197c4d 100644
--- a/drivers/md/md.h
+++ b/drivers/md/md.h
@@ -23,6 +23,7 @@
#include <linux/timer.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
+#include "md-cluster.h"
#define MaxSector (~(sector_t)0)
@@ -608,6 +609,11 @@ static inline void safe_put_page(struct page *p)
extern int register_md_personality(struct md_personality *p);
extern int unregister_md_personality(struct md_personality *p);
+extern int register_md_cluster_operations(struct md_cluster_operations *ops,
+ struct module *module);
+extern int unregister_md_cluster_operations(void);
+extern int md_setup_cluster(struct mddev *mddev, int nodes);
+extern void md_cluster_stop(struct mddev *mddev);
extern struct md_thread *md_register_thread(
void (*run)(struct md_thread *thread),
struct mddev *mddev,
@@ -669,4 +675,5 @@ static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev)
}
}
+extern struct md_cluster_operations *md_cluster_ops;
#endif /* _MD_MD_H */