diff options
-rw-r--r-- | net/netfilter/ipvs/ip_vs_lblc.c | 2 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_lblcr.c | 2 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_lc.c | 14 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_nq.c | 4 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_rr.c | 1 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_sed.c | 1 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_sh.c | 1 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_wlc.c | 1 | ||||
-rw-r--r-- | net/netfilter/ipvs/ip_vs_wrr.c | 8 |
9 files changed, 24 insertions, 10 deletions
diff --git a/net/netfilter/ipvs/ip_vs_lblc.c b/net/netfilter/ipvs/ip_vs_lblc.c index 9394f539966a..3eb5e2660c49 100644 --- a/net/netfilter/ipvs/ip_vs_lblc.c +++ b/net/netfilter/ipvs/ip_vs_lblc.c | |||
@@ -507,7 +507,7 @@ ip_vs_lblc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
507 | /* No cache entry or it is invalid, time to schedule */ | 507 | /* No cache entry or it is invalid, time to schedule */ |
508 | dest = __ip_vs_lblc_schedule(svc); | 508 | dest = __ip_vs_lblc_schedule(svc); |
509 | if (!dest) { | 509 | if (!dest) { |
510 | IP_VS_DBG(1, "no destination available\n"); | 510 | IP_VS_ERR_RL("LBLC: no destination available\n"); |
511 | return NULL; | 511 | return NULL; |
512 | } | 512 | } |
513 | 513 | ||
diff --git a/net/netfilter/ipvs/ip_vs_lblcr.c b/net/netfilter/ipvs/ip_vs_lblcr.c index 92dc76a6842c..c04ce56c7f0f 100644 --- a/net/netfilter/ipvs/ip_vs_lblcr.c +++ b/net/netfilter/ipvs/ip_vs_lblcr.c | |||
@@ -690,7 +690,7 @@ ip_vs_lblcr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
690 | /* The cache entry is invalid, time to schedule */ | 690 | /* The cache entry is invalid, time to schedule */ |
691 | dest = __ip_vs_lblcr_schedule(svc); | 691 | dest = __ip_vs_lblcr_schedule(svc); |
692 | if (!dest) { | 692 | if (!dest) { |
693 | IP_VS_DBG(1, "no destination available\n"); | 693 | IP_VS_ERR_RL("LBLCR: no destination available\n"); |
694 | read_unlock(&svc->sched_lock); | 694 | read_unlock(&svc->sched_lock); |
695 | return NULL; | 695 | return NULL; |
696 | } | 696 | } |
diff --git a/net/netfilter/ipvs/ip_vs_lc.c b/net/netfilter/ipvs/ip_vs_lc.c index 51912cab777b..d0dadc8a65fd 100644 --- a/net/netfilter/ipvs/ip_vs_lc.c +++ b/net/netfilter/ipvs/ip_vs_lc.c | |||
@@ -66,11 +66,15 @@ ip_vs_lc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
66 | } | 66 | } |
67 | } | 67 | } |
68 | 68 | ||
69 | if (least) | 69 | if (!least) |
70 | IP_VS_DBG_BUF(6, "LC: server %s:%u activeconns %d inactconns %d\n", | 70 | IP_VS_ERR_RL("LC: no destination available\n"); |
71 | IP_VS_DBG_ADDR(svc->af, &least->addr), ntohs(least->port), | 71 | else |
72 | atomic_read(&least->activeconns), | 72 | IP_VS_DBG_BUF(6, "LC: server %s:%u activeconns %d " |
73 | atomic_read(&least->inactconns)); | 73 | "inactconns %d\n", |
74 | IP_VS_DBG_ADDR(svc->af, &least->addr), | ||
75 | ntohs(least->port), | ||
76 | atomic_read(&least->activeconns), | ||
77 | atomic_read(&least->inactconns)); | ||
74 | 78 | ||
75 | return least; | 79 | return least; |
76 | } | 80 | } |
diff --git a/net/netfilter/ipvs/ip_vs_nq.c b/net/netfilter/ipvs/ip_vs_nq.c index 6758ad2ceaaf..694952db5026 100644 --- a/net/netfilter/ipvs/ip_vs_nq.c +++ b/net/netfilter/ipvs/ip_vs_nq.c | |||
@@ -95,8 +95,10 @@ ip_vs_nq_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
98 | if (!least) | 98 | if (!least) { |
99 | IP_VS_ERR_RL("NQ: no destination available\n"); | ||
99 | return NULL; | 100 | return NULL; |
101 | } | ||
100 | 102 | ||
101 | out: | 103 | out: |
102 | IP_VS_DBG_BUF(6, "NQ: server %s:%u " | 104 | IP_VS_DBG_BUF(6, "NQ: server %s:%u " |
diff --git a/net/netfilter/ipvs/ip_vs_rr.c b/net/netfilter/ipvs/ip_vs_rr.c index 8fb51c169eb8..2d16ab7f8c1e 100644 --- a/net/netfilter/ipvs/ip_vs_rr.c +++ b/net/netfilter/ipvs/ip_vs_rr.c | |||
@@ -69,6 +69,7 @@ ip_vs_rr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
69 | q = q->next; | 69 | q = q->next; |
70 | } while (q != p); | 70 | } while (q != p); |
71 | write_unlock(&svc->sched_lock); | 71 | write_unlock(&svc->sched_lock); |
72 | IP_VS_ERR_RL("RR: no destination available\n"); | ||
72 | return NULL; | 73 | return NULL; |
73 | 74 | ||
74 | out: | 75 | out: |
diff --git a/net/netfilter/ipvs/ip_vs_sed.c b/net/netfilter/ipvs/ip_vs_sed.c index 691a6a0086e1..20e4657d2f3b 100644 --- a/net/netfilter/ipvs/ip_vs_sed.c +++ b/net/netfilter/ipvs/ip_vs_sed.c | |||
@@ -84,6 +84,7 @@ ip_vs_sed_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
84 | goto nextstage; | 84 | goto nextstage; |
85 | } | 85 | } |
86 | } | 86 | } |
87 | IP_VS_ERR_RL("SED: no destination available\n"); | ||
87 | return NULL; | 88 | return NULL; |
88 | 89 | ||
89 | /* | 90 | /* |
diff --git a/net/netfilter/ipvs/ip_vs_sh.c b/net/netfilter/ipvs/ip_vs_sh.c index 0e53955ef139..75709ebeb630 100644 --- a/net/netfilter/ipvs/ip_vs_sh.c +++ b/net/netfilter/ipvs/ip_vs_sh.c | |||
@@ -219,6 +219,7 @@ ip_vs_sh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
219 | || !(dest->flags & IP_VS_DEST_F_AVAILABLE) | 219 | || !(dest->flags & IP_VS_DEST_F_AVAILABLE) |
220 | || atomic_read(&dest->weight) <= 0 | 220 | || atomic_read(&dest->weight) <= 0 |
221 | || is_overloaded(dest)) { | 221 | || is_overloaded(dest)) { |
222 | IP_VS_ERR_RL("SH: no destination available\n"); | ||
222 | return NULL; | 223 | return NULL; |
223 | } | 224 | } |
224 | 225 | ||
diff --git a/net/netfilter/ipvs/ip_vs_wlc.c b/net/netfilter/ipvs/ip_vs_wlc.c index 57b452bbb4ea..8e942565b47d 100644 --- a/net/netfilter/ipvs/ip_vs_wlc.c +++ b/net/netfilter/ipvs/ip_vs_wlc.c | |||
@@ -72,6 +72,7 @@ ip_vs_wlc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
72 | goto nextstage; | 72 | goto nextstage; |
73 | } | 73 | } |
74 | } | 74 | } |
75 | IP_VS_ERR_RL("WLC: no destination available\n"); | ||
75 | return NULL; | 76 | return NULL; |
76 | 77 | ||
77 | /* | 78 | /* |
diff --git a/net/netfilter/ipvs/ip_vs_wrr.c b/net/netfilter/ipvs/ip_vs_wrr.c index 2f618dc29c5b..f7d74ef1ecf9 100644 --- a/net/netfilter/ipvs/ip_vs_wrr.c +++ b/net/netfilter/ipvs/ip_vs_wrr.c | |||
@@ -155,6 +155,8 @@ ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
155 | 155 | ||
156 | if (mark->cl == mark->cl->next) { | 156 | if (mark->cl == mark->cl->next) { |
157 | /* no dest entry */ | 157 | /* no dest entry */ |
158 | IP_VS_ERR_RL("WRR: no destination available: " | ||
159 | "no destinations present\n"); | ||
158 | dest = NULL; | 160 | dest = NULL; |
159 | goto out; | 161 | goto out; |
160 | } | 162 | } |
@@ -168,8 +170,8 @@ ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
168 | */ | 170 | */ |
169 | if (mark->cw == 0) { | 171 | if (mark->cw == 0) { |
170 | mark->cl = &svc->destinations; | 172 | mark->cl = &svc->destinations; |
171 | IP_VS_ERR_RL("ip_vs_wrr_schedule(): " | 173 | IP_VS_ERR_RL("WRR: no destination " |
172 | "no available servers\n"); | 174 | "available\n"); |
173 | dest = NULL; | 175 | dest = NULL; |
174 | goto out; | 176 | goto out; |
175 | } | 177 | } |
@@ -191,6 +193,8 @@ ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb) | |||
191 | /* back to the start, and no dest is found. | 193 | /* back to the start, and no dest is found. |
192 | It is only possible when all dests are OVERLOADED */ | 194 | It is only possible when all dests are OVERLOADED */ |
193 | dest = NULL; | 195 | dest = NULL; |
196 | IP_VS_ERR_RL("WRR: no destination available: " | ||
197 | "all destinations are overloaded\n"); | ||
194 | goto out; | 198 | goto out; |
195 | } | 199 | } |
196 | } | 200 | } |