Hello,
On Sun, 12 Dec 2010, Tinggong Wang wrote:
use time_after get the current buffer created more than the specified time.
time_before in get_curr_sync_buff(2 * HZ) will get the buffer created newly.
if curr_sb has been created more than 2*HZ then it will still sit in master.
so use time_after instead.
Signed-off-by: Tinggong Wang <wangtinggong@xxxxxxxxx>
---
net/netfilter/ipvs/ip_vs_sync.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 2b6b0cb..555b0dd 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
+++ b/net/netfilter/ipvs/ip_vs_sync.c
@@ -221,8 +221,7 @@ get_curr_sync_buff(unsigned long time)
struct ip_vs_sync_buff *sb;
spin_lock_bh(&curr_sb_lock);
- if (curr_sb && (time == 0 ||
- time_before(jiffies - curr_sb->firstuse, time))) {
+ if (curr_sb && time_after(jiffies - curr_sb->firstuse, time)) {
This breaks the time=0 case when jiffies matches firstuse.
May be the fix should be as follows?:
if (curr_sb && time_after_eq(jiffies - curr_sb->firstuse, time)) {
i.e. passed >= limit (2 or 0).
sb = curr_sb;
curr_sb = NULL;
} else
--
1.7.2.3
Regards
--
Julian Anastasov <ja@xxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|