IPVS: Add expire_quiescent_template()
authorSimon Horman <horms@verge.net.au>
Fri, 4 Feb 2011 09:33:01 +0000 (18:33 +0900)
committerSimon Horman <horms@verge.net.au>
Tue, 15 Mar 2011 00:36:58 +0000 (09:36 +0900)
In preparation for not including sysctl_expire_quiescent_template in
struct netns_ipvs when CONFIG_SYCTL is not defined.

Signed-off-by: Simon Horman <horms@verge.net.au>
net/netfilter/ipvs/ip_vs_conn.c

index 9c2a517b69c8683b6933c2079b2c1199c5978a07..f289306cbf12aa22970ba62646ed501d38ca93b1 100644 (file)
@@ -680,6 +680,16 @@ static inline void ip_vs_unbind_dest(struct ip_vs_conn *cp)
        atomic_dec(&dest->refcnt);
 }
 
+static int expire_quiescent_template(struct netns_ipvs *ipvs,
+                                    struct ip_vs_dest *dest)
+{
+#ifdef CONFIG_SYSCTL
+       return ipvs->sysctl_expire_quiescent_template &&
+               (atomic_read(&dest->weight) == 0);
+#else
+       return 0;
+#endif
+}
 
 /*
  *     Checking if the destination of a connection template is available.
@@ -696,8 +706,7 @@ int ip_vs_check_template(struct ip_vs_conn *ct)
         */
        if ((dest == NULL) ||
            !(dest->flags & IP_VS_DEST_F_AVAILABLE) ||
-           (ipvs->sysctl_expire_quiescent_template &&
-            (atomic_read(&dest->weight) == 0))) {
+           expire_quiescent_template(ipvs, dest)) {
                IP_VS_DBG_BUF(9, "check_template: dest not available for "
                              "protocol %s s:%s:%d v:%s:%d "
                              "-> d:%s:%d\n",