Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6
This commit is contained in:
commit
21071344e6
1 changed files with 4 additions and 0 deletions
|
@ -162,6 +162,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
|
|||
hash = ip_vs_conn_hashkey(cp->af, cp->protocol, &cp->caddr, cp->cport);
|
||||
|
||||
ct_write_lock(hash);
|
||||
spin_lock(&cp->lock);
|
||||
|
||||
if (!(cp->flags & IP_VS_CONN_F_HASHED)) {
|
||||
list_add(&cp->c_list, &ip_vs_conn_tab[hash]);
|
||||
|
@ -174,6 +175,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
|
|||
ret = 0;
|
||||
}
|
||||
|
||||
spin_unlock(&cp->lock);
|
||||
ct_write_unlock(hash);
|
||||
|
||||
return ret;
|
||||
|
@ -193,6 +195,7 @@ static inline int ip_vs_conn_unhash(struct ip_vs_conn *cp)
|
|||
hash = ip_vs_conn_hashkey(cp->af, cp->protocol, &cp->caddr, cp->cport);
|
||||
|
||||
ct_write_lock(hash);
|
||||
spin_lock(&cp->lock);
|
||||
|
||||
if (cp->flags & IP_VS_CONN_F_HASHED) {
|
||||
list_del(&cp->c_list);
|
||||
|
@ -202,6 +205,7 @@ static inline int ip_vs_conn_unhash(struct ip_vs_conn *cp)
|
|||
} else
|
||||
ret = 0;
|
||||
|
||||
spin_unlock(&cp->lock);
|
||||
ct_write_unlock(hash);
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue