[Devel] [PATCH RHEL7 COMMIT] venet: Don't kill venet0 on the node

Konstantin Khorenko khorenko at odin.com
Tue May 5 05:58:53 PDT 2015


The commit is pushed to "branch-rh7-3.10.0-123.1.2-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-123.1.2.vz7.4.9
------>
commit 26be027bee65a8a4a813a6ede6aac8a9ed8196c9
Author: Cyrill Gorcunov <gorcunov at odin.com>
Date:   Tue May 5 16:58:53 2015 +0400

    venet: Don't kill venet0 on the node
    
    In case if there were new net-namespace created on the node,
    upon its exit we clean up the venet0 host device occasionally.
    Fix it testing if net is really ours one.
    
    For some reason such test is already present on pcs6 so
    I presume we missed to merge it in first place.
    
    https://jira.sw.ru/browse/PSBM-33281
    
    Signed-off-by: Cyrill Gorcunov <gorcunov at odin.com>
    Reviewed-by: Vladimir Davydov <vdavydov at parallels.com>
    
    CC: Konstantin Khorenko <khorenko at odin.com>
    CC: Andrey Vagin <avagin at odin.com>
---
 drivers/net/venetdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/venetdev.c b/drivers/net/venetdev.c
index d4c3fa9..bb7f0be 100644
--- a/drivers/net/venetdev.c
+++ b/drivers/net/venetdev.c
@@ -1122,6 +1122,8 @@ static __net_exit void venet_exit_net(struct list_head *net_exit_list)
 
 	list_for_each_entry(net, net_exit_list, exit_list) {
 		env = net->owner_ve;
+		if (env->ve_netns != net)
+			continue;
 
 		venet_ext_clean(env);
 		veip_stop(env);
@@ -1141,6 +1143,8 @@ static __net_exit void venet_exit_net(struct list_head *net_exit_list)
 
 	list_for_each_entry(net, net_exit_list, exit_list) {
 		env = net->owner_ve;
+		if (env->ve_netns != net)
+			continue;
 
 		dev = env->_venet_dev;
 		if (dev == NULL)



More information about the Devel mailing list