These routines will be called from main connecter per-ve init and fini
routines.

Signed-off-by: Stanislav Kinsburskiy <skinsbur...@virtuozzo.com>
---
 drivers/connector/cn_proc.c |   17 +++++++++++++++++
 include/linux/connector.h   |    3 +++
 2 files changed, 20 insertions(+)

diff --git a/drivers/connector/cn_proc.c b/drivers/connector/cn_proc.c
index 17a8c8c..8998335 100644
--- a/drivers/connector/cn_proc.c
+++ b/drivers/connector/cn_proc.c
@@ -329,6 +329,23 @@ static void cn_proc_mcast_ctl(struct cn_msg *msg,
        cn_proc_ack(err, msg->seq, msg->ack);
 }
 
+int cn_proc_init_ve(struct ve_struct *ve)
+{
+       int err = cn_add_callback_ve(ve, &cn_proc_event_id,
+                                    "cn_proc",
+                                    &cn_proc_mcast_ctl);
+       if (err) {
+               pr_warn("VE#%d: cn_proc failed to register\n", ve->veid);
+               return err;
+       }
+       return 0;
+}
+
+void cn_proc_fini_ve(struct ve_struct *ve)
+{
+       cn_del_callback_ve(ve, &cn_proc_event_id);
+}
+
 /*
  * cn_proc_init - initialization entry point
  *
diff --git a/include/linux/connector.h b/include/linux/connector.h
index 8b44bf0..60eb089 100644
--- a/include/linux/connector.h
+++ b/include/linux/connector.h
@@ -76,6 +76,9 @@ struct cn_private {
 
 };
 
+int cn_proc_init_ve(struct ve_struct *ve);
+void cn_proc_fini_ve(struct ve_struct *ve);
+
 int cn_add_callback_ve(struct ve_struct *ve,
                       struct cb_id *id, const char *name,
                       void (*callback)(struct cn_msg *,

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to