diff --git a/src/config/param.generic_fbsd.h b/src/config/param.generic_fbsd.h index a0f5b67b02..a767ebd34f 100644 --- a/src/config/param.generic_fbsd.h +++ b/src/config/param.generic_fbsd.h @@ -138,6 +138,15 @@ enum vcexcl { NONEXCL, EXCL }; # define FBSD_UMA_GETPBUF #endif +/* r353868 removed if_addr_rlock et al, use the net epoch instead */ +#if __FreeBSD_version >= 1300054 +# define AFS_IF_ADDR_RLOCK(ifn) RX_NET_EPOCH_ENTER() +# define AFS_IF_ADDR_RUNLOCK(ifn) RX_NET_EPOCH_EXIT() +#else +# define AFS_IF_ADDR_RLOCK(ifn) if_addr_rlock(ifn) +# define AFS_IF_ADDR_RUNLOCK(ifn) if_addr_runlock(ifn) +#endif + /* r355537 removed VI_DOOMED, use VN_IS_DOOMED instead */ #if __FreeBSD_version >= 1300064 # define AFS_IS_DOOMED(vp) VN_IS_DOOMED(vp) diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index edb6a40869..6b71a50064 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -678,7 +678,7 @@ rxi_GetIFInfo(void) if (i >= ADDRSPERSITE) break; # elif defined(AFS_FBSD_ENV) - if_addr_rlock(ifn); + AFS_IF_ADDR_RLOCK(ifn); AFS_FBSD_NET_FOREACH(ifad, &ifn->if_addrhead, ifa_link) { if (i >= ADDRSPERSITE) break; @@ -712,7 +712,7 @@ rxi_GetIFInfo(void) } } # ifdef AFS_FBSD_ENV - if_addr_runlock(ifn); + AFS_IF_ADDR_RUNLOCK(ifn); # endif } # endif /* !AFS_DARWIN80_ENV */