diff options
| author | Goldwyn Rodrigues <rgoldwyn@suse.com> | 2014-03-29 11:01:53 -0400 |
|---|---|---|
| committer | Goldwyn Rodrigues <rgoldwyn@suse.com> | 2015-02-23 08:28:42 -0500 |
| commit | edb39c9deda87da5aad9c090e2e8eaf8470c852c (patch) | |
| tree | 22b789f9e6bdcfd892d9f6a7e757e1fe58579795 /drivers/md/md-cluster.c | |
| parent | 47741b7ca7b389d1b45d7cf15edc279c9be32fa8 (diff) | |
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-cluster.c')
| -rw-r--r-- | drivers/md/md-cluster.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c index bc8ea9d76875..e2235600a72b 100644 --- a/drivers/md/md-cluster.c +++ b/drivers/md/md-cluster.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/dlm.h> | 13 | #include <linux/dlm.h> |
| 14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
| 15 | #include "md.h" | 15 | #include "md.h" |
| 16 | #include "md-cluster.h" | ||
| 16 | 17 | ||
| 17 | #define LVB_SIZE 64 | 18 | #define LVB_SIZE 64 |
| 18 | 19 | ||
| @@ -113,15 +114,32 @@ static void lockres_free(struct dlm_lock_resource *res) | |||
| 113 | kfree(res); | 114 | kfree(res); |
| 114 | } | 115 | } |
| 115 | 116 | ||
| 117 | static int join(struct mddev *mddev, int nodes) | ||
| 118 | { | ||
| 119 | return 0; | ||
| 120 | } | ||
| 121 | |||
| 122 | static int leave(struct mddev *mddev) | ||
| 123 | { | ||
| 124 | return 0; | ||
| 125 | } | ||
| 126 | |||
| 127 | static struct md_cluster_operations cluster_ops = { | ||
| 128 | .join = join, | ||
| 129 | .leave = leave, | ||
| 130 | }; | ||
| 131 | |||
| 116 | static int __init cluster_init(void) | 132 | static int __init cluster_init(void) |
| 117 | { | 133 | { |
| 118 | pr_warn("md-cluster: EXPERIMENTAL. Use with caution\n"); | 134 | pr_warn("md-cluster: EXPERIMENTAL. Use with caution\n"); |
| 119 | pr_info("Registering Cluster MD functions\n"); | 135 | pr_info("Registering Cluster MD functions\n"); |
| 136 | register_md_cluster_operations(&cluster_ops, THIS_MODULE); | ||
| 120 | return 0; | 137 | return 0; |
| 121 | } | 138 | } |
| 122 | 139 | ||
| 123 | static void cluster_exit(void) | 140 | static void cluster_exit(void) |
| 124 | { | 141 | { |
| 142 | unregister_md_cluster_operations(); | ||
| 125 | } | 143 | } |
| 126 | 144 | ||
| 127 | module_init(cluster_init); | 145 | module_init(cluster_init); |
