[SSI] openssi/kernel/net/ipv4/ipvs ip_vs_ctl.c,1.12,1.13
Roger Tsang <[email protected]>
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/net/ipv4/ipvs
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8553/net/ipv4/ipvs
Modified Files:
Tag: OPENSSI-FC
ip_vs_ctl.c
Log Message:
Bug fixes and enhancements. (see ChangeLog)
Index: ip_vs_ctl.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/net/ipv4/ipvs/ip_vs_ctl.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- ip_vs_ctl.c 30 Dec 2007 13:02:19 -0000 1.12
+++ ip_vs_ctl.c 3 Feb 2009 06:18:14 -0000 1.13
@@ -2439,10 +2439,14 @@
udest.conn_flags = IP_VS_CONN_F_DROUTE;
}
+#ifdef IPVS_SERVICE_RACE_FIX
+ down(&__ip_vs_mutex);
+#else
if(down_interruptible(&__ip_vs_mutex)) {
ret = -ERESTARTSYS;
goto out_err;
}
+#endif
/*
* Lookup the exact service by <protocol, vaddr, vport> or fwmark
@@ -2471,7 +2475,9 @@
out_unlock:
up(&__ip_vs_mutex);
+#ifndef IPVS_SERVICE_RACE_FIX
out_err:
+#endif
/* decrease the module use count */
ip_vs_use_count_dec();
return ret;
@@ -2498,10 +2504,14 @@
udest.addr = rip;
udest.port = port;
+#ifdef IPVS_SERVICE_RACE_FIX
+ down(&__ip_vs_mutex);
+#else
if(down_interruptible(&__ip_vs_mutex)) {
ret = -ERESTARTSYS;
goto out_err;
}
+#endif
/*
* Lookup the exact service by <protocol, vaddr, vport> or fwmark
@@ -2531,7 +2541,6 @@
* Delete the service only if there is no other real server
*/
#ifdef IPVS_SERVICE_RACE_FIX
- smp_mb();
if (!svc->num_dests) {
ret = ip_vs_del_service(svc);
if (!ret)
@@ -2555,7 +2564,9 @@
out_unlock:
up(&__ip_vs_mutex);
+#ifndef IPVS_SERVICE_RACE_FIX
out_err:
+#endif
/* decrease the module use count */
ip_vs_use_count_dec();
return ret;
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com