LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH 3/3] ipvs: fix get_curr_sync_buff

To: Julian Anastasov <ja@xxxxxx>
Subject: Re: [PATCH 3/3] ipvs: fix get_curr_sync_buff
Cc: Tinggong Wang <wangtinggong@xxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Wed, 15 Dec 2010 17:28:33 +0900
On Tue, Dec 14, 2010 at 10:28:04AM +0200, Julian Anastasov wrote:
> 
>       Hello,
> 
> On Tue, 14 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).
> >>
> >
> >Thanks!
> >
> >here is the improved patch:
> >
> >>From 68f30a4e8759dae7de4fb846db8ad264301c0bc6 Mon Sep 17 00:00:00 2001
> >From: Tinggong Wang <wangtinggong@xxxxxxxxx>
> >Date: Tue, 14 Dec 2010 10:53:24 +0800
> >Subject: [PATCH] ipvs: fix get_curr_sync_buff
> >
> >use time_after_eq get the current buffer created more than the specified 
> >time,
> >or equals it.
> >
> >Signed-off-by: Tinggong Wang <wangtinggong@xxxxxxxxx>
> 
>       Simon, this change looks ok, consider for
> applying, may be after the changes from Hans if there is
> collision.

Thanks, I'll put this change in after Hans's changes as you suggest.

--
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

<Prev in Thread] Current Thread [Next in Thread>