svn commit: r223860 - stable/8/sys/net
Marko Zec
zec at FreeBSD.org
Fri Jul 8 09:18:50 UTC 2011
Author: zec
Date: Fri Jul 8 09:18:50 2011
New Revision: 223860
URL: http://svn.freebsd.org/changeset/base/223860
Log:
MFC r222834:
Set curvnet context in a callout-trigerred code path.
Modified:
stable/8/sys/net/bridgestp.c
stable/8/sys/net/bridgestp.h
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/net/bridgestp.c
==============================================================================
--- stable/8/sys/net/bridgestp.c Fri Jul 8 09:17:25 2011 (r223859)
+++ stable/8/sys/net/bridgestp.c Fri Jul 8 09:18:50 2011 (r223860)
@@ -1860,6 +1860,8 @@ bstp_tick(void *arg)
if (bs->bs_running == 0)
return;
+ CURVNET_SET(bs->bs_vnet);
+
/* slow timer to catch missed link events */
if (bstp_timer_expired(&bs->bs_link_timer)) {
LIST_FOREACH(bp, &bs->bs_bplist, bp_next)
@@ -1893,6 +1895,8 @@ bstp_tick(void *arg)
bp->bp_txcount--;
}
+ CURVNET_RESTORE();
+
callout_reset(&bs->bs_bstpcallout, hz, bstp_tick, bs);
}
@@ -2126,6 +2130,7 @@ bstp_attach(struct bstp_state *bs, struc
bs->bs_protover = BSTP_PROTO_RSTP;
bs->bs_state_cb = cb->bcb_state;
bs->bs_rtage_cb = cb->bcb_rtage;
+ bs->bs_vnet = curvnet;
getmicrotime(&bs->bs_last_tc_time);
Modified: stable/8/sys/net/bridgestp.h
==============================================================================
--- stable/8/sys/net/bridgestp.h Fri Jul 8 09:17:25 2011 (r223859)
+++ stable/8/sys/net/bridgestp.h Fri Jul 8 09:18:50 2011 (r223860)
@@ -358,6 +358,7 @@ struct bstp_state {
LIST_HEAD(, bstp_port) bs_bplist;
bstp_state_cb_t bs_state_cb;
bstp_rtage_cb_t bs_rtage_cb;
+ struct vnet *bs_vnet;
};
#define BSTP_LOCK_INIT(_bs) mtx_init(&(_bs)->bs_mtx, "bstp", NULL, MTX_DEF)
More information about the svn-src-stable-8
mailing list