patch-2.2.5 linux/net/ipv4/fib_hash.c
Next file: linux/net/ipv4/fib_rules.c
Previous file: linux/net/ipv4/devinet.c
Back to the patch index
Back to the overall index
- Lines: 42
- Date:
Thu Mar 25 09:23:34 1999
- Orig file:
v2.2.4/linux/net/ipv4/fib_hash.c
- Orig date:
Tue Mar 23 14:35:48 1999
diff -u --recursive --new-file v2.2.4/linux/net/ipv4/fib_hash.c linux/net/ipv4/fib_hash.c
@@ -5,7 +5,7 @@
*
* IPv4 FIB: lookup engine and maintenance routines.
*
- * Version: $Id: fib_hash.c,v 1.7 1999/03/21 05:22:32 davem Exp $
+ * Version: $Id: fib_hash.c,v 1.8 1999/03/25 10:04:17 davem Exp $
*
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*
@@ -566,9 +566,8 @@
if (del_fp) {
f = *del_fp;
/* Unlink replaced node */
- net_serialize_enter();
*del_fp = f->fn_next;
- net_serialize_leave();
+ synchronize_bh();
if (!(f->fn_state&FN_S_ZOMBIE))
rtmsg_fib(RTM_DELROUTE, f, z, tb->tb_id, n, req);
@@ -656,9 +655,8 @@
rtmsg_fib(RTM_DELROUTE, f, z, tb->tb_id, n, req);
if (matched != 1) {
- net_serialize_enter();
*del_fp = f->fn_next;
- net_serialize_leave();
+ synchronize_bh();
if (f->fn_state&FN_S_ACCESSED)
rt_cache_flush(-1);
@@ -689,9 +687,8 @@
struct fib_info *fi = FIB_INFO(f);
if (fi && ((f->fn_state&FN_S_ZOMBIE) || (fi->fib_flags&RTNH_F_DEAD))) {
- net_serialize_enter();
*fp = f->fn_next;
- net_serialize_leave();
+ synchronize_bh();
fn_free_node(f);
found++;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)