From owner-svn-src-head@freebsd.org Sun Oct 11 01:31:19 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8FA61A0F2FD; Sun, 11 Oct 2015 01:31:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59E5C7B; Sun, 11 Oct 2015 01:31:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B1VIsP023044; Sun, 11 Oct 2015 01:31:18 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B1VI7N023041; Sun, 11 Oct 2015 01:31:18 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110131.t9B1VI7N023041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 01:31:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289124 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 01:31:19 -0000 Author: adrian Date: Sun Oct 11 01:31:18 2015 New Revision: 289124 URL: https://svnweb.freebsd.org/changeset/base/289124 Log: wpi(4): use more correct types. This change fixes some amount of -Wsign-conversion and -Wconversion warnings and sets correct sizes for some variables (as a result, some loop counters were touched too). Submitted by: Differential Revision: https://reviews.freebsd.org/D3763 Modified: head/sys/dev/wpi/if_wpi.c head/sys/dev/wpi/if_wpireg.h head/sys/dev/wpi/if_wpivar.h Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sat Oct 10 23:31:47 2015 (r289123) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:31:18 2015 (r289124) @@ -156,7 +156,7 @@ static void wpi_update_rx_ring_ps(struct static void wpi_reset_rx_ring(struct wpi_softc *); static void wpi_free_rx_ring(struct wpi_softc *); static int wpi_alloc_tx_ring(struct wpi_softc *, struct wpi_tx_ring *, - int); + uint8_t); static void wpi_update_tx_ring(struct wpi_softc *, struct wpi_tx_ring *); static void wpi_update_tx_ring_ps(struct wpi_softc *, struct wpi_tx_ring *); @@ -165,15 +165,14 @@ static void wpi_free_tx_ring(struct wpi_ static int wpi_read_eeprom(struct wpi_softc *, uint8_t macaddr[IEEE80211_ADDR_LEN]); static uint32_t wpi_eeprom_channel_flags(struct wpi_eeprom_chan *); -static void wpi_read_eeprom_band(struct wpi_softc *, int); -static int wpi_read_eeprom_channels(struct wpi_softc *, int); +static void wpi_read_eeprom_band(struct wpi_softc *, uint8_t); +static int wpi_read_eeprom_channels(struct wpi_softc *, uint8_t); static struct wpi_eeprom_chan *wpi_find_eeprom_channel(struct wpi_softc *, struct ieee80211_channel *); static int wpi_setregdomain(struct ieee80211com *, struct ieee80211_regdomain *, int, struct ieee80211_channel[]); -static int wpi_read_eeprom_group(struct wpi_softc *, int); -static int wpi_add_node_entry_adhoc(struct wpi_softc *); +static int wpi_read_eeprom_group(struct wpi_softc *, uint8_t); static struct ieee80211_node *wpi_node_alloc(struct ieee80211vap *, const uint8_t mac[IEEE80211_ADDR_LEN]); static void wpi_node_free(struct ieee80211_node *); @@ -210,7 +209,8 @@ static void wpi_watchdog_rfkill(void *); static void wpi_scan_timeout(void *); static void wpi_tx_timeout(void *); static void wpi_parent(struct ieee80211com *); -static int wpi_cmd(struct wpi_softc *, int, const void *, size_t, int); +static int wpi_cmd(struct wpi_softc *, uint8_t, const void *, uint16_t, + int); static int wpi_mrr_setup(struct wpi_softc *); static int wpi_add_node(struct wpi_softc *, struct ieee80211_node *); static int wpi_add_broadcast_node(struct wpi_softc *, int); @@ -257,7 +257,8 @@ static int wpi_key_set(struct ieee80211v static int wpi_key_delete(struct ieee80211vap *, const struct ieee80211_key *); static int wpi_post_alive(struct wpi_softc *); -static int wpi_load_bootcode(struct wpi_softc *, const uint8_t *, int); +static int wpi_load_bootcode(struct wpi_softc *, const uint8_t *, + uint32_t); static int wpi_load_firmware(struct wpi_softc *); static int wpi_read_firmware(struct wpi_softc *); static void wpi_unload_firmware(struct wpi_softc *); @@ -327,7 +328,8 @@ wpi_attach(device_t dev) { struct wpi_softc *sc = (struct wpi_softc *)device_get_softc(dev); struct ieee80211com *ic; - int i, error, rid; + uint8_t i; + int error, rid; #ifdef WPI_DEBUG int supportsa = 1; const struct wpi_ident *ident; @@ -387,10 +389,11 @@ wpi_attach(device_t dev) sc->sc_st = rman_get_bustag(sc->mem); sc->sc_sh = rman_get_bushandle(sc->mem); - i = 1; - rid = 0; - if (pci_alloc_msi(dev, &i) == 0) + rid = 1; + if (pci_alloc_msi(dev, &rid) == 0) rid = 1; + else + rid = 0; /* Install interrupt handler. */ sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE | (rid != 0 ? 0 : RF_SHAREABLE)); @@ -677,7 +680,7 @@ wpi_detach(device_t dev) { struct wpi_softc *sc = device_get_softc(dev); struct ieee80211com *ic = &sc->sc_ic; - int qid; + uint8_t qid; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -828,9 +831,9 @@ wpi_prph_clrbits(struct wpi_softc *sc, u static __inline void wpi_prph_write_region_4(struct wpi_softc *sc, uint32_t addr, - const uint32_t *data, int count) + const uint32_t *data, uint32_t count) { - for (; count > 0; count--, data++, addr += 4) + for (; count != 0; count--, data++, addr += 4) wpi_prph_write(sc, addr, *data); } @@ -1152,7 +1155,7 @@ wpi_free_rx_ring(struct wpi_softc *sc) } static int -wpi_alloc_tx_ring(struct wpi_softc *sc, struct wpi_tx_ring *ring, int qid) +wpi_alloc_tx_ring(struct wpi_softc *sc, struct wpi_tx_ring *ring, uint8_t qid) { bus_addr_t paddr; bus_size_t size; @@ -1332,7 +1335,8 @@ wpi_read_eeprom(struct wpi_softc *sc, ui if ((error = res) != 0) \ goto fail; \ } while (0) - int error, i; + uint8_t i; + int error; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -1416,14 +1420,14 @@ wpi_eeprom_channel_flags(struct wpi_eepr } static void -wpi_read_eeprom_band(struct wpi_softc *sc, int n) +wpi_read_eeprom_band(struct wpi_softc *sc, uint8_t n) { struct ieee80211com *ic = &sc->sc_ic; struct wpi_eeprom_chan *channels = sc->eeprom_channels[n]; const struct wpi_chan_band *band = &wpi_bands[n]; struct ieee80211_channel *c; - uint8_t chan; - int i, nflags; + uint32_t nflags; + uint8_t chan, i; for (i = 0; i < band->nchan; i++) { if (!(channels[i].flags & WPI_EEPROM_CHAN_VALID)) { @@ -1473,7 +1477,7 @@ wpi_read_eeprom_band(struct wpi_softc *s * band and update net80211 with what we find. */ static int -wpi_read_eeprom_channels(struct wpi_softc *sc, int n) +wpi_read_eeprom_channels(struct wpi_softc *sc, uint8_t n) { struct ieee80211com *ic = &sc->sc_ic; const struct wpi_chan_band *band = &wpi_bands[n]; @@ -1537,7 +1541,7 @@ wpi_setregdomain(struct ieee80211com *ic } static int -wpi_read_eeprom_group(struct wpi_softc *sc, int n) +wpi_read_eeprom_group(struct wpi_softc *sc, uint8_t n) { struct wpi_power_group *group = &sc->groups[n]; struct wpi_eeprom_group rgroup; @@ -1575,10 +1579,10 @@ wpi_read_eeprom_group(struct wpi_softc * return 0; } -static int +static __inline uint8_t wpi_add_node_entry_adhoc(struct wpi_softc *sc) { - int newid = WPI_ID_IBSS_MIN; + uint8_t newid = WPI_ID_IBSS_MIN; for (; newid <= WPI_ID_IBSS_MAX; newid++) { if ((sc->nodesmsk & (1 << newid)) == 0) { @@ -1590,7 +1594,7 @@ wpi_add_node_entry_adhoc(struct wpi_soft return WPI_ID_UNDEFINED; } -static __inline int +static __inline uint8_t wpi_add_node_entry_sta(struct wpi_softc *sc) { sc->nodesmsk |= 1 << WPI_ID_BSS; @@ -2585,7 +2589,9 @@ wpi_cmd2(struct wpi_softc *sc, struct wp struct wpi_tx_ring *ring; struct mbuf *m1; bus_dma_segment_t *seg, segs[WPI_MAX_SCATTER]; - int error, i, hdrlen, nsegs, totlen, pad; + uint8_t pad; + uint16_t hdrlen; + int error, i, nsegs, totlen; WPI_TXQ_LOCK(sc); @@ -2730,9 +2736,9 @@ wpi_tx_data(struct wpi_softc *sc, struct struct wpi_buf tx_data; struct wpi_cmd_data *tx = (struct wpi_cmd_data *)&tx_data.data; uint32_t flags; - uint16_t qos; - uint8_t tid, type; - int ac, error, swcrypt, rate, ismcast, totlen; + uint16_t ac, qos; + uint8_t tid, type, rate; + int error, swcrypt, ismcast, totlen; wh = mtod(m, struct ieee80211_frame *); type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; @@ -2896,8 +2902,8 @@ wpi_tx_data_raw(struct wpi_softc *sc, st struct wpi_buf tx_data; struct wpi_cmd_data *tx = (struct wpi_cmd_data *)&tx_data.data; uint32_t flags; - uint8_t type; - int ac, rate, swcrypt, totlen; + uint8_t ac, type, rate; + int swcrypt, totlen; wh = mtod(m, struct ieee80211_frame *); type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; @@ -2991,7 +2997,7 @@ wpi_tx_data_raw(struct wpi_softc *sc, st } static __inline int -wpi_tx_ring_is_full(struct wpi_softc *sc, int ac) +wpi_tx_ring_is_full(struct wpi_softc *sc, uint16_t ac) { struct wpi_tx_ring *ring = &sc->txq[ac]; int retval; @@ -3017,7 +3023,8 @@ wpi_raw_xmit(struct ieee80211_node *ni, { struct ieee80211com *ic = ni->ni_ic; struct wpi_softc *sc = ic->ic_softc; - int ac, error = 0; + uint16_t ac; + int error = 0; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -3064,7 +3071,8 @@ wpi_transmit(struct ieee80211com *ic, st { struct wpi_softc *sc = ic->ic_softc; struct ieee80211_node *ni; - int ac, error; + uint16_t ac; + int error; WPI_TX_LOCK(sc); DPRINTF(sc, WPI_DEBUG_XMIT, "%s: called\n", __func__); @@ -3154,7 +3162,7 @@ wpi_parent(struct ieee80211com *ic) * Send a command to the firmware. */ static int -wpi_cmd(struct wpi_softc *sc, int code, const void *buf, size_t size, +wpi_cmd(struct wpi_softc *sc, uint8_t code, const void *buf, uint16_t size, int async) { struct wpi_tx_ring *ring = &sc->txq[WPI_CMD_QUEUE_NUM]; @@ -3163,7 +3171,8 @@ wpi_cmd(struct wpi_softc *sc, int code, struct wpi_tx_cmd *cmd; struct mbuf *m; bus_addr_t paddr; - int totlen, error; + uint16_t totlen; + int error; WPI_TXQ_LOCK(sc); @@ -3182,7 +3191,7 @@ wpi_cmd(struct wpi_softc *sc, int code, if (async == 0) WPI_LOCK_ASSERT(sc); - DPRINTF(sc, WPI_DEBUG_CMD, "%s: cmd %s size %zu async %d\n", + DPRINTF(sc, WPI_DEBUG_CMD, "%s: cmd %s size %u async %d\n", __func__, wpi_cmd_str(code), size, async); desc = &ring->desc[ring->cur]; @@ -3258,7 +3267,8 @@ wpi_mrr_setup(struct wpi_softc *sc) { struct ieee80211com *ic = &sc->sc_ic; struct wpi_mrr_setup mrr; - int i, error; + uint8_t i; + int error; /* CCK rates (not used with 802.11a). */ for (i = WPI_RIDX_CCK1; i <= WPI_RIDX_CCK11; i++) { @@ -3715,8 +3725,8 @@ wpi_set_pslevel(struct wpi_softc *sc, ui { struct wpi_pmgt_cmd cmd; const struct wpi_pmgt *pmgt; - uint32_t max, skip_dtim; - uint32_t reg; + uint32_t max, reg; + uint8_t skip_dtim; int i; DPRINTF(sc, WPI_DEBUG_PWRSAVE, @@ -3951,7 +3961,7 @@ wpi_limit_dwell(struct wpi_softc *sc, ui { struct ieee80211com *ic = &sc->sc_ic; struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); - int bintval = 0; + uint16_t bintval = 0; /* bintval is in TU (1.024mS) */ if (vap != NULL) @@ -4015,9 +4025,9 @@ wpi_scan(struct wpi_softc *sc, struct ie struct wpi_scan_chan *chan; struct ieee80211_frame *wh; struct ieee80211_rateset *rs; - uint16_t dwell_active, dwell_passive; - uint8_t *buf, *frm; - int bgscan, bintval, buflen, error, i, nssid; + uint16_t bintval, buflen, dwell_active, dwell_passive; + uint8_t *buf, *frm, i, nssid; + int bgscan, error; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -4809,7 +4819,7 @@ wpi_post_alive(struct wpi_softc *sc) * the NIC internal memory (no DMA transfer). */ static int -wpi_load_bootcode(struct wpi_softc *sc, const uint8_t *ucode, int size) +wpi_load_bootcode(struct wpi_softc *sc, const uint8_t *ucode, uint32_t size) { int error, ntries; @@ -5159,7 +5169,8 @@ wpi_nic_config(struct wpi_softc *sc) static int wpi_hw_init(struct wpi_softc *sc) { - int chnl, ntries, error; + uint8_t chnl; + int ntries, error; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -5274,7 +5285,8 @@ wpi_hw_init(struct wpi_softc *sc) static void wpi_hw_stop(struct wpi_softc *sc) { - int chnl, qid, ntries; + uint8_t chnl, qid; + int ntries; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_DOING, __func__); Modified: head/sys/dev/wpi/if_wpireg.h ============================================================================== --- head/sys/dev/wpi/if_wpireg.h Sat Oct 10 23:31:47 2015 (r289123) +++ head/sys/dev/wpi/if_wpireg.h Sun Oct 11 01:31:18 2015 (r289124) @@ -978,7 +978,7 @@ static const struct wpi_pmgt { uint32_t rxtimeout; uint32_t txtimeout; uint32_t intval[5]; - int skip_dtim; + uint8_t skip_dtim; } wpi_pmgt[WPI_NDTIMRANGES][WPI_NPOWERLEVELS] = { /* DTIM <= 10 */ { Modified: head/sys/dev/wpi/if_wpivar.h ============================================================================== --- head/sys/dev/wpi/if_wpivar.h Sat Oct 10 23:31:47 2015 (r289123) +++ head/sys/dev/wpi/if_wpivar.h Sun Oct 11 01:31:18 2015 (r289124) @@ -72,10 +72,10 @@ struct wpi_tx_ring { struct wpi_tx_cmd *cmd; struct wpi_tx_data data[WPI_TX_RING_COUNT]; bus_dma_tag_t data_dmat; - int qid; - int queued; - int cur; - int update; + uint8_t qid; + uint8_t cur; + int16_t queued; + int update:1; }; struct wpi_rx_data { @@ -88,7 +88,7 @@ struct wpi_rx_ring { uint32_t *desc; struct wpi_rx_data data[WPI_RX_RING_COUNT]; bus_dma_tag_t data_dmat; - int cur; + uint16_t cur; int update; }; @@ -116,8 +116,8 @@ struct wpi_buf { struct ieee80211_node *ni; struct mbuf *m; size_t size; - int code; - int ac; + uint8_t code; + uint16_t ac; }; struct wpi_vap { @@ -126,7 +126,7 @@ struct wpi_vap { struct wpi_buf wv_bcbuf; struct mtx wv_mtx; - uint32_t wv_gtk; + uint8_t wv_gtk; #define WPI_VAP_KEY(kid) (1 << kid) int (*wv_newstate)(struct ieee80211vap *, From owner-svn-src-head@freebsd.org Sun Oct 11 01:50:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86E40A0F841; Sun, 11 Oct 2015 01:50:55 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3940AE8C; Sun, 11 Oct 2015 01:50:55 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B1osxe027250; Sun, 11 Oct 2015 01:50:54 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B1osRr027249; Sun, 11 Oct 2015 01:50:54 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110150.t9B1osRr027249@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 01:50:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289125 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 01:50:55 -0000 Author: adrian Date: Sun Oct 11 01:50:54 2015 New Revision: 289125 URL: https://svnweb.freebsd.org/changeset/base/289125 Log: wpi(4): do not override iv_recv_mgmt() in non-adhoc modes. Tested: * Tested with Intel 3945BG, IBSS and STA modes Submitted by: Differential Revision: https://reviews.freebsd.org/D3764 Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:31:18 2015 (r289124) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:50:54 2015 (r289125) @@ -176,7 +176,7 @@ static int wpi_read_eeprom_group(struct static struct ieee80211_node *wpi_node_alloc(struct ieee80211vap *, const uint8_t mac[IEEE80211_ADDR_LEN]); static void wpi_node_free(struct ieee80211_node *); -static void wpi_recv_mgmt(struct ieee80211_node *, struct mbuf *, int, +static void wpi_ibss_recv_mgmt(struct ieee80211_node *, struct mbuf *, int, const struct ieee80211_rx_stats *, int, int); static void wpi_restore_node(void *, struct ieee80211_node *); @@ -640,8 +640,10 @@ wpi_vap_create(struct ieee80211com *ic, /* Override with driver methods. */ vap->iv_key_set = wpi_key_set; vap->iv_key_delete = wpi_key_delete; - wvp->wv_recv_mgmt = vap->iv_recv_mgmt; - vap->iv_recv_mgmt = wpi_recv_mgmt; + if (opmode == IEEE80211_M_IBSS) { + wvp->wv_recv_mgmt = vap->iv_recv_mgmt; + vap->iv_recv_mgmt = wpi_ibss_recv_mgmt; + } wvp->wv_newstate = vap->iv_newstate; vap->iv_newstate = wpi_newstate; vap->iv_update_beacon = wpi_update_beacon; @@ -1664,7 +1666,7 @@ wpi_check_bss_filter(struct wpi_softc *s } static void -wpi_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m, int subtype, +wpi_ibss_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m, int subtype, const struct ieee80211_rx_stats *rxs, int rssi, int nf) { @@ -1675,8 +1677,7 @@ wpi_recv_mgmt(struct ieee80211_node *ni, wvp->wv_recv_mgmt(ni, m, subtype, rxs, rssi, nf); - if (vap->iv_opmode == IEEE80211_M_IBSS && - vap->iv_state == IEEE80211_S_RUN && + if (vap->iv_state == IEEE80211_S_RUN && (subtype == IEEE80211_FC0_SUBTYPE_BEACON || subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP)) { ni_tstamp = le64toh(ni->ni_tstamp.tsf); From owner-svn-src-head@freebsd.org Sun Oct 11 01:53:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22A8DA0F955; Sun, 11 Oct 2015 01:53:53 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C472B11A6; Sun, 11 Oct 2015 01:53:52 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B1rpiX029911; Sun, 11 Oct 2015 01:53:51 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B1rpDi029909; Sun, 11 Oct 2015 01:53:51 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110153.t9B1rpDi029909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 01:53:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289126 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 01:53:53 -0000 Author: adrian Date: Sun Oct 11 01:53:51 2015 New Revision: 289126 URL: https://svnweb.freebsd.org/changeset/base/289126 Log: wpi(4): do not allocate space for unused rings. Tested: * Tested with Intel 3945BG, STA mode Submitted by: Differential Revision: https://reviews.freebsd.org/D3765 Modified: head/sys/dev/wpi/if_wpi.c head/sys/dev/wpi/if_wpivar.h Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:50:54 2015 (r289125) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:53:51 2015 (r289126) @@ -425,7 +425,7 @@ wpi_attach(device_t dev) } /* Allocate TX rings - 4 for QoS purposes, 1 for commands. */ - for (i = 0; i < WPI_NTXQUEUES; i++) { + for (i = 0; i < WPI_DRV_NTXQUEUES; i++) { if ((error = wpi_alloc_tx_ring(sc, &sc->txq[i], i)) != 0) { device_printf(dev, "could not allocate TX ring %d, error %d\n", i, @@ -713,7 +713,7 @@ wpi_detach(device_t dev) if (sc->txq[0].data_dmat) { /* Free DMA resources. */ - for (qid = 0; qid < WPI_NTXQUEUES; qid++) + for (qid = 0; qid < WPI_DRV_NTXQUEUES; qid++) wpi_free_tx_ring(sc, &sc->txq[qid]); wpi_free_rx_ring(sc); @@ -1186,16 +1186,6 @@ wpi_alloc_tx_ring(struct wpi_softc *sc, bus_dmamap_sync(sc->shared_dma.tag, sc->shared_dma.map, BUS_DMASYNC_PREWRITE); - /* - * We only use rings 0 through 4 (4 EDCA + cmd) so there is no need - * to allocate commands space for other rings. - * XXX Do we really need to allocate descriptors for other rings? - */ - if (qid > WPI_CMD_QUEUE_NUM) { - DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); - return 0; - } - size = WPI_TX_RING_COUNT * sizeof (struct wpi_tx_cmd); error = wpi_dma_contig_alloc(sc, &ring->cmd_dma, (void **)&ring->cmd, size, 4); @@ -5326,7 +5316,7 @@ wpi_hw_stop(struct wpi_softc *sc) wpi_reset_rx_ring(sc); /* Reset all TX rings. */ - for (qid = 0; qid < WPI_NTXQUEUES; qid++) + for (qid = 0; qid < WPI_DRV_NTXQUEUES; qid++) wpi_reset_tx_ring(sc, &sc->txq[qid]); if (wpi_nic_lock(sc) == 0) { Modified: head/sys/dev/wpi/if_wpivar.h ============================================================================== --- head/sys/dev/wpi/if_wpivar.h Sun Oct 11 01:50:54 2015 (r289125) +++ head/sys/dev/wpi/if_wpivar.h Sun Oct 11 01:53:51 2015 (r289126) @@ -176,7 +176,7 @@ struct wpi_softc { struct wpi_dma_info shared_dma; struct wpi_shared *shared; - struct wpi_tx_ring txq[WPI_NTXQUEUES]; + struct wpi_tx_ring txq[WPI_DRV_NTXQUEUES]; struct mtx txq_mtx; struct mtx txq_state_mtx; From owner-svn-src-head@freebsd.org Sun Oct 11 01:56:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9D11A0FA5D; Sun, 11 Oct 2015 01:56:47 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B4D53134E; Sun, 11 Oct 2015 01:56:47 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B1ukq7030056; Sun, 11 Oct 2015 01:56:46 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B1ukAV030055; Sun, 11 Oct 2015 01:56:46 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110156.t9B1ukAV030055@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 01:56:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289127 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 01:56:48 -0000 Author: adrian Date: Sun Oct 11 01:56:46 2015 New Revision: 289127 URL: https://svnweb.freebsd.org/changeset/base/289127 Log: wpi(4): fix possible race between TX/RX threads. Tested: * Tested with Intel 3945BG, STA mode Submitted by: Differential Revision: https://reviews.freebsd.org/D3766 Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:53:51 2015 (r289126) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:56:46 2015 (r289127) @@ -1093,6 +1093,7 @@ wpi_update_rx_ring_ps(struct wpi_softc * return; } + WPI_TXQ_LOCK(sc); WPI_SETBITS(sc, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_REQ); if (WPI_READ(sc, WPI_GP_CNTRL) & WPI_GP_CNTRL_SLEEP) { DPRINTF(sc, WPI_DEBUG_PWRSAVE, "%s: wakeup request\n", @@ -1102,6 +1103,7 @@ wpi_update_rx_ring_ps(struct wpi_softc * wpi_update_rx_ring(sc); WPI_CLRBITS(sc, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_REQ); } + WPI_TXQ_UNLOCK(sc); } static void From owner-svn-src-head@freebsd.org Sun Oct 11 01:58:52 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5401BA0FB31; Sun, 11 Oct 2015 01:58:52 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 10FEC1542; Sun, 11 Oct 2015 01:58:51 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B1wpwx030165; Sun, 11 Oct 2015 01:58:51 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B1wpjd030164; Sun, 11 Oct 2015 01:58:51 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110158.t9B1wpjd030164@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 01:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289128 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 01:58:52 -0000 Author: adrian Date: Sun Oct 11 01:58:50 2015 New Revision: 289128 URL: https://svnweb.freebsd.org/changeset/base/289128 Log: wpi(4): move error handling upper (wpi_tx_data()/wpi_cmd2() -> wpi_raw_xmit()/wpi_transmit()). Tested: * Tested with Intel 3945BG, STA mode Submitted by: Differential Revision: https://reviews.freebsd.org/D3767 Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:56:46 2015 (r289127) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:58:50 2015 (r289128) @@ -2595,7 +2595,7 @@ wpi_cmd2(struct wpi_softc *sc, struct wp if (__predict_false(sc->sc_running == 0)) { /* wpi_stop() was called */ error = ENETDOWN; - goto fail; + goto end; } wh = mtod(buf->m, struct ieee80211_frame *); @@ -2604,7 +2604,7 @@ wpi_cmd2(struct wpi_softc *sc, struct wp if (__predict_false(totlen < sizeof(struct ieee80211_frame_min))) { error = EINVAL; - goto fail; + goto end; } if (hdrlen & 3) { @@ -2635,7 +2635,7 @@ wpi_cmd2(struct wpi_softc *sc, struct wp if (error != 0 && error != EFBIG) { device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - goto fail; + goto end; } if (error != 0) { /* Too many DMA segments, linearize mbuf. */ @@ -2644,17 +2644,29 @@ wpi_cmd2(struct wpi_softc *sc, struct wp device_printf(sc->sc_dev, "%s: could not defrag mbuf\n", __func__); error = ENOBUFS; - goto fail; + goto end; } buf->m = m1; error = bus_dmamap_load_mbuf_sg(ring->data_dmat, data->map, buf->m, segs, &nsegs, BUS_DMA_NOWAIT); if (__predict_false(error != 0)) { + /* XXX fix this (applicable to the iwn(4) too) */ + /* + * NB: Do not return error; + * original mbuf does not exist anymore. + */ device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - goto fail; + if (ring->qid < WPI_CMD_QUEUE_NUM) { + if_inc_counter(buf->ni->ni_vap->iv_ifp, + IFCOUNTER_OERRORS, 1); + ieee80211_free_node(buf->ni); + } + m_freem(buf->m); + error = 0; + goto end; } } @@ -2698,19 +2710,12 @@ wpi_cmd2(struct wpi_softc *sc, struct wp WPI_TXQ_STATE_UNLOCK(sc); } - DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); - - WPI_TXQ_UNLOCK(sc); - - return 0; - -fail: m_freem(buf->m); - - DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END_ERR, __func__); +end: DPRINTF(sc, WPI_DEBUG_TRACE, error ? TRACE_STR_END_ERR : TRACE_STR_END, + __func__); WPI_TXQ_UNLOCK(sc); - return error; + return (error); } /* @@ -2731,7 +2736,7 @@ wpi_tx_data(struct wpi_softc *sc, struct uint32_t flags; uint16_t ac, qos; uint8_t tid, type, rate; - int error, swcrypt, ismcast, totlen; + int swcrypt, ismcast, totlen; wh = mtod(m, struct ieee80211_frame *); type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; @@ -2771,10 +2776,9 @@ wpi_tx_data(struct wpi_softc *sc, struct if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) { /* Retrieve key for TX. */ k = ieee80211_crypto_encap(ni, m); - if (k == NULL) { - error = ENOBUFS; - goto fail; - } + if (k == NULL) + return (ENOBUFS); + swcrypt = k->wk_flags & IEEE80211_KEY_SWCRYPT; /* 802.11 header may have moved. */ @@ -2843,8 +2847,7 @@ wpi_tx_data(struct wpi_softc *sc, struct if (wn->id == WPI_ID_UNDEFINED) { device_printf(sc->sc_dev, "%s: undefined node id\n", __func__); - error = EINVAL; - goto fail; + return (EINVAL); } tx->id = wn->id; @@ -2880,9 +2883,6 @@ wpi_tx_data(struct wpi_softc *sc, struct tx_data.ac = ac; return wpi_cmd2(sc, &tx_data); - -fail: m_freem(m); - return error; } static int @@ -2923,10 +2923,9 @@ wpi_tx_data_raw(struct wpi_softc *sc, st if (params->ibp_flags & IEEE80211_BPF_CRYPTO) { /* Retrieve key for TX. */ k = ieee80211_crypto_encap(ni, m); - if (k == NULL) { - m_freem(m); - return ENOBUFS; - } + if (k == NULL) + return (ENOBUFS); + swcrypt = k->wk_flags & IEEE80211_KEY_SWCRYPT; /* 802.11 header may have moved. */ @@ -3026,7 +3025,6 @@ wpi_raw_xmit(struct ieee80211_node *ni, WPI_TX_LOCK(sc); if (sc->sc_running == 0 || wpi_tx_ring_is_full(sc, ac)) { - m_freem(m); error = sc->sc_running ? ENOBUFS : ENETDOWN; goto unlock; } @@ -3049,6 +3047,7 @@ unlock: WPI_TX_UNLOCK(sc); if (error != 0) { wpi_handle_tx_failure(ni); + m_freem(m); DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END_ERR, __func__); return error; @@ -3087,6 +3086,7 @@ wpi_transmit(struct ieee80211com *ic, st ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; if (wpi_tx_data(sc, m, ni) != 0) { wpi_handle_tx_failure(ni); + m_freem(m); } DPRINTF(sc, WPI_DEBUG_XMIT, "%s: done\n", __func__); @@ -4300,6 +4300,7 @@ wpi_config_beacon(struct wpi_vap *wvp) device_printf(sc->sc_dev, "%s: could not update beacon frame, error %d", __func__, error); + m_freem(bcn->m); } /* Restore mbuf. */ From owner-svn-src-head@freebsd.org Sun Oct 11 02:00:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 56C9BA0FBC4; Sun, 11 Oct 2015 02:00:09 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2320E17ED; Sun, 11 Oct 2015 02:00:09 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B208eW030283; Sun, 11 Oct 2015 02:00:08 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B208nm030282; Sun, 11 Oct 2015 02:00:08 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510110200.t9B208nm030282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 11 Oct 2015 02:00:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289129 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 02:00:09 -0000 Author: adrian Date: Sun Oct 11 02:00:08 2015 New Revision: 289129 URL: https://svnweb.freebsd.org/changeset/base/289129 Log: wpi(4): do not count failures twice for ic_raw_xmit(). Tested: * Tested with Intel 3945BG, STA mode Submitted by: Differential Revision: https://reviews.freebsd.org/D3768 Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Oct 11 01:58:50 2015 (r289128) +++ head/sys/dev/wpi/if_wpi.c Sun Oct 11 02:00:08 2015 (r289129) @@ -3001,14 +3001,6 @@ wpi_tx_ring_is_full(struct wpi_softc *sc return retval; } -static __inline void -wpi_handle_tx_failure(struct ieee80211_node *ni) -{ - /* NB: m is reclaimed on tx failure */ - if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); - ieee80211_free_node(ni); -} - static int wpi_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, const struct ieee80211_bpf_params *params) @@ -3046,8 +3038,8 @@ wpi_raw_xmit(struct ieee80211_node *ni, unlock: WPI_TX_UNLOCK(sc); if (error != 0) { - wpi_handle_tx_failure(ni); m_freem(m); + ieee80211_free_node(ni); DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END_ERR, __func__); return error; @@ -3085,7 +3077,8 @@ wpi_transmit(struct ieee80211com *ic, st error = 0; ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; if (wpi_tx_data(sc, m, ni) != 0) { - wpi_handle_tx_failure(ni); + if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); + ieee80211_free_node(ni); m_freem(m); } From owner-svn-src-head@freebsd.org Sun Oct 11 03:31:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CA0EA0FE60; Sun, 11 Oct 2015 03:31:13 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD44D1E8E; Sun, 11 Oct 2015 03:31:12 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B3VBAi058155; Sun, 11 Oct 2015 03:31:11 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B3VBZ2058154; Sun, 11 Oct 2015 03:31:11 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201510110331.t9B3VBZ2058154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Sun, 11 Oct 2015 03:31:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289130 - head/sys/mips/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 03:31:13 -0000 Author: sbruno Date: Sun Oct 11 03:31:11 2015 New Revision: 289130 URL: https://svnweb.freebsd.org/changeset/base/289130 Log: Use machine specific values cleaned from openwrt for the mac address location on the TP link mr3020 Modified: head/sys/mips/conf/TP-MR3020.hints Modified: head/sys/mips/conf/TP-MR3020.hints ============================================================================== --- head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 02:00:08 2015 (r289129) +++ head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 03:31:11 2015 (r289130) @@ -34,8 +34,10 @@ hint.arge.1.fduplex=1 # Where the ART is - last 64k in the flash # 0x9fff1000 ? -hint.ath.0.eepromaddr=0x1fff0000 +hint.ath.0.eepromaddr=0x1fff1000 hint.ath.0.eepromsize=16384 + +hint.ar71xx.0.eeprom_mac_addr=0x1f01fc00 # The board 16MiB flash layout in uboot env: # From owner-svn-src-head@freebsd.org Sun Oct 11 04:58:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55688A118BB; Sun, 11 Oct 2015 04:58:20 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x230.google.com (mail-ig0-x230.google.com [IPv6:2607:f8b0:4001:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 166EB1C8F; Sun, 11 Oct 2015 04:58:20 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by igcpe7 with SMTP id pe7so61430923igc.0; Sat, 10 Oct 2015 21:58:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=DHvib2mK5fTyhzaUVs5PJXVRoV1ny8e/achOei8FLXA=; b=GAi2oIkBNirUCGUum794BqXGNAcH4Aqc9MfPOpElXt2qF7yWtEOXNIzya4dxFJBLTb 4+lne+t0VHqROTysue2eV0+JpcXPn7Rz1HC9CKSg7M+BU5F0XhbHJ+pHz26d5TRf3Ldj TMFMVDSYmDNIVgns7ikAdMH+QrJtWYgUb4ljnh0ahiGJk/Xq4pm/muT6JhBXRgL/JG8Q /eJrshshN/FgHJl5bMD+L9SvZx3eFPDQ6PFZV6+tZ/rwx50HuMqFOKTtoV8Bg/3bHD56 wN7mNzmgYf5OIMpflpjfBKtPdL2vrYMU4eE5VjDMWa7jMMhoee6ZOHduFOoCBzUeLmCx tszw== MIME-Version: 1.0 X-Received: by 10.50.61.137 with SMTP id p9mr6473466igr.37.1444539499476; Sat, 10 Oct 2015 21:58:19 -0700 (PDT) Received: by 10.36.2.10 with HTTP; Sat, 10 Oct 2015 21:58:19 -0700 (PDT) In-Reply-To: <201510110331.t9B3VBZ2058154@repo.freebsd.org> References: <201510110331.t9B3VBZ2058154@repo.freebsd.org> Date: Sat, 10 Oct 2015 21:58:19 -0700 Message-ID: Subject: Re: svn commit: r289130 - head/sys/mips/conf From: Adrian Chadd To: Sean Bruno Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 04:58:20 -0000 Hm, its an AR9300, right? It should be getting ART from 0x1fff0000 like the rest of the boards and the AR9300 HAL will add 0x1000 for you. Don't ask me why. What's the MAC address of the wlan0 interface you created? Does it actually all work? :) -a On 10 October 2015 at 20:31, Sean Bruno wrote: > Author: sbruno > Date: Sun Oct 11 03:31:11 2015 > New Revision: 289130 > URL: https://svnweb.freebsd.org/changeset/base/289130 > > Log: > Use machine specific values cleaned from openwrt for the mac address > location on the TP link mr3020 > > Modified: > head/sys/mips/conf/TP-MR3020.hints > > Modified: head/sys/mips/conf/TP-MR3020.hints > ============================================================================== > --- head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 02:00:08 2015 (r289129) > +++ head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 03:31:11 2015 (r289130) > @@ -34,8 +34,10 @@ hint.arge.1.fduplex=1 > > # Where the ART is - last 64k in the flash > # 0x9fff1000 ? > -hint.ath.0.eepromaddr=0x1fff0000 > +hint.ath.0.eepromaddr=0x1fff1000 > hint.ath.0.eepromsize=16384 > + > +hint.ar71xx.0.eeprom_mac_addr=0x1f01fc00 > > # The board 16MiB flash layout in uboot env: > # > From owner-svn-src-head@freebsd.org Sun Oct 11 07:08:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CDACA11818; Sun, 11 Oct 2015 07:08:59 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv25.fwdcdn.com (frv25.fwdcdn.com [212.42.77.25]) by mx1.freebsd.org (Postfix) with ESMTP id B22078E0; Sun, 11 Oct 2015 07:08:58 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv152.fwdcdn.com ([212.42.77.152]) by frv25.fwdcdn.com QID:1ZlAVi-0003Gx-Vi/RC:4; Sun, 11 Oct 2015 09:53:34 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=mW62U303Hsm4x043SDDLDM0Hb+ls757/Fo78TB/Dekg=; b=MhdkvAzc2mMV8Z8SBXxvMYS/BZUVk6e4ND9iKiwz5e9yQElk20h9kQX4BZUzVg3yPdS35FXwKBcG7VnhdUQ+T+anTcQmOpjPdvrI8Vh+hgSOn75FMfpimhMKCmFUUz7VG/4XlxcFIG3ykR8sEsWE9ox3gqReKGUVy+lXIz2g8KU=; Received: from [178.137.225.202] (helo=nonamehost.local) by frv152.fwdcdn.com with esmtpsa ID 1ZlAVa-00033N-61 ; Sun, 11 Oct 2015 09:53:26 +0300 Date: Sun, 11 Oct 2015 09:53:25 +0300 From: Ivan Klymenko To: Dimitry Andric Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r283526 - in head: . contrib/llvm/include/llvm/Target contrib/llvm/lib/Analysis contrib/llvm/lib/CodeGen contrib/llvm/lib/CodeGen/SelectionDAG contrib/llvm/lib/ExecutionEngine/RuntimeDy... Message-ID: <20151011095325.66715721@nonamehost.local> In-Reply-To: <314FDE61-A3F7-4DB7-98BF-16BDCA77D307@FreeBSD.org> References: <201505251343.t4PDh3wR037780@svn.freebsd.org> <20151011003222.0944214d@nonamehost.local> <314FDE61-A3F7-4DB7-98BF-16BDCA77D307@FreeBSD.org> X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Authentication-Result: IP=178.137.225.202; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-Ukrnet-Yellow: 0 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 07:08:59 -0000 On Sun, 11 Oct 2015 01:40:46 +0200 Dimitry Andric wrote: > On 10 Oct 2015, at 23:32, Ivan Klymenko wrote: > > On Mon, 25 May 2015 13:43:03 +0000 (UTC) > > Dimitry Andric wrote: > > > >> Author: dim > >> Date: Mon May 25 13:43:03 2015 > >> New Revision: 283526 > >> URL: https://svnweb.freebsd.org/changeset/base/283526 > >> > >> Log: > >> Upgrade our copy of clang and llvm to 3.6.1 release. > > This is some time ago already, you probably meant the upgrade to > 3.7.0? :-) > Oops. Yes :) sorry. > > > Cannot emit physreg copy instruction > > UNREACHABLE executed > > at /usr/src/lib/clang/libllvmx86codegen/../../../contrib/llvm/lib/Target/X86/X86InstrInfo.cpp:3935! > > cc: error: unable to execute command: Abort trap cc: error: clang > > frontend command failed due to signal (use -v to see invocation) > > FreeBSD clang version 3.7.0 (tags/RELEASE_370/final 246257) > > 20150906 Target: x86_64-unknown-freebsd11.0 Thread model: posix > > cc: note: diagnostic msg: PLEASE submit a bug report to > > https://bugs.freebsd.org/submit/ and include the crash backtrace, > > preprocessed source, and associated run script. cc: note: > > diagnostic msg: ******************** > > > > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: > > Preprocessed source(s) and associated run script(s) are located at: > > cc: note: diagnostic msg: /tmp/ieee802_11_common-974cbf.c > > cc: note: diagnostic msg: /tmp/ieee802_11_common-974cbf.sh > > Yes, this error has already been reported; please see the thread > starting here: > > https://lists.freebsd.org/pipermail/freebsd-current/2015-October/057701.html > Thanks! > It has been submitted as an upstream bug, and a fix is being worked > on. For now, you can work around it by unsetting CPUTYPE. > > -Dimitry > From owner-svn-src-head@freebsd.org Sun Oct 11 08:28:51 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D8BFA11789; Sun, 11 Oct 2015 08:28:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 184329D2; Sun, 11 Oct 2015 08:28:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9B8Sop4044587; Sun, 11 Oct 2015 08:28:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9B8SoeH044586; Sun, 11 Oct 2015 08:28:50 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510110828.t9B8SoeH044586@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 11 Oct 2015 08:28:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289136 - head/sys/cam/ctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 08:28:51 -0000 Author: mav Date: Sun Oct 11 08:28:49 2015 New Revision: 289136 URL: https://svnweb.freebsd.org/changeset/base/289136 Log: Remove lock upgrade attempt from ctl_be_block_open_file(). I am not sure what for it was done. Now open routine should automatically fall back to read-only if open for writing is impossible. In such case attempt to upgrade to write sounds strange. MFC after: 1 week Modified: head/sys/cam/ctl/ctl_backend_block.c Modified: head/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_block.c Sun Oct 11 08:28:36 2015 (r289135) +++ head/sys/cam/ctl/ctl_backend_block.c Sun Oct 11 08:28:49 2015 (r289136) @@ -1840,21 +1840,6 @@ ctl_be_block_open_file(struct ctl_be_blo return (error); } - /* - * Verify that we have the ability to upgrade to exclusive - * access on this file so we can trap errors at open instead - * of reporting them during first access. - */ - if (VOP_ISLOCKED(be_lun->vn) != LK_EXCLUSIVE) { - vn_lock(be_lun->vn, LK_UPGRADE | LK_RETRY); - if (be_lun->vn->v_iflag & VI_DOOMED) { - error = EBADF; - snprintf(req->error_str, sizeof(req->error_str), - "error locking file %s", be_lun->dev_path); - return (error); - } - } - file_data->cred = crhold(curthread->td_ucred); if (params->lun_size_bytes != 0) be_lun->size_bytes = params->lun_size_bytes; From owner-svn-src-head@freebsd.org Sun Oct 11 13:01:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3B414A0F2A1; Sun, 11 Oct 2015 13:01:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F2A2C2EC; Sun, 11 Oct 2015 13:01:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BD1sXi035591; Sun, 11 Oct 2015 13:01:54 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BD1poi035565; Sun, 11 Oct 2015 13:01:51 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510111301.t9BD1poi035565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 11 Oct 2015 13:01:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289137 - in head: . sbin/geom/class/raid share/man/man4 sys/amd64/conf sys/arm/conf sys/cam sys/cam/ata sys/conf sys/geom sys/geom/raid sys/i386/conf sys/mips/conf sys/pc98/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 13:01:55 -0000 Author: mav Date: Sun Oct 11 13:01:51 2015 New Revision: 289137 URL: https://svnweb.freebsd.org/changeset/base/289137 Log: Remove compatibility shims for legacy ATA device names. We got new ATA stack in FreeBSD 8.x, switched to it at 9.x, completely removed old stack at 10.x, so at 11.x it is time to remove compat shims. Modified: head/UPDATING head/sbin/geom/class/raid/graid.8 head/share/man/man4/ada.4 head/sys/amd64/conf/GENERIC head/sys/arm/conf/A20 head/sys/arm/conf/ALPINE head/sys/arm/conf/CRB head/sys/arm/conf/CUBIEBOARD head/sys/arm/conf/EFIKA_MX head/sys/arm/conf/EP80219 head/sys/arm/conf/IMX53 head/sys/arm/conf/IQ31244 head/sys/cam/ata/ata_da.c head/sys/cam/cam_xpt.c head/sys/cam/cam_xpt.h head/sys/conf/NOTES head/sys/geom/geom_dev.c head/sys/geom/raid/g_raid.c head/sys/i386/conf/GENERIC head/sys/i386/conf/XBOX head/sys/mips/conf/OCTEON1 head/sys/mips/conf/std.SWARM head/sys/pc98/conf/GENERIC Modified: head/UPDATING ============================================================================== --- head/UPDATING Sun Oct 11 08:28:49 2015 (r289136) +++ head/UPDATING Sun Oct 11 13:01:51 2015 (r289137) @@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20151011: + Compatibility shims for legacy ATA device names have been removed. + It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases + and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* + environment variables, /dev/ad* and /dev/ar* symbolic links. + 20151006: Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. Please see the 20141231 entry below for information about prerequisites Modified: head/sbin/geom/class/raid/graid.8 ============================================================================== --- head/sbin/geom/class/raid/graid.8 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sbin/geom/class/raid/graid.8 Sun Oct 11 13:01:51 2015 (r289137) @@ -304,9 +304,6 @@ Write errors are always considered as di Time to wait for missing array components on startup. .It Va kern.geom.raid. Ns Ar X Ns Va .enable : No 1 Enable taste for specific metadata or transformation module. -.It Va kern.geom.raid.legacy_aliases : No 0 -Enable geom raid emulation of legacy /dev/ar%d devices. -This should aid the upgrade of systems from legacy to modern releases. .El .Sh EXIT STATUS Exit status is 0 on success, and non-zero if the command fails. Modified: head/share/man/man4/ada.4 ============================================================================== --- head/share/man/man4/ada.4 Sun Oct 11 08:28:49 2015 (r289136) +++ head/share/man/man4/ada.4 Sun Oct 11 13:01:51 2015 (r289137) @@ -146,16 +146,6 @@ instead of .Pa /etc/sysctl.conf . The global default is currently 1. The per-device default is to leave it as-is (follow global setting). -.It Va kern.cam.ada.legacy_aliases -.Pp -This variable determines whether -.Pa /dev/ad Ns Ar Y -symbolic links are created, -which tries to mimic old -.Xr ata 4 -numbering. -Set to 1 to enable legacy aliases symlinks, 0 to disable. -The default is currently enabled. .El .Sh FILES .Bl -tag -width ".Pa /dev/ada*" -compact Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/amd64/conf/GENERIC Sun Oct 11 13:01:51 2015 (r289137) @@ -109,7 +109,6 @@ device fdc # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers -options ATA_STATIC_ID # Static device numbering device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA Modified: head/sys/arm/conf/A20 ============================================================================== --- head/sys/arm/conf/A20 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/A20 Sun Oct 11 13:01:51 2015 (r289137) @@ -62,7 +62,6 @@ device mmcsd # mmc/sd flash cards # ATA controllers device ahci # AHCI-compatible SATA controllers #device ata # Legacy ATA/SATA controllers -#options ATA_STATIC_ID # Static device numbering # Console and misc device uart Modified: head/sys/arm/conf/ALPINE ============================================================================== --- head/sys/arm/conf/ALPINE Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/ALPINE Sun Oct 11 13:01:51 2015 (r289137) @@ -48,7 +48,6 @@ device gpio # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers -options ATA_STATIC_ID # Static device numbering # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) Modified: head/sys/arm/conf/CRB ============================================================================== --- head/sys/arm/conf/CRB Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/CRB Sun Oct 11 13:01:51 2015 (r289137) @@ -76,7 +76,6 @@ device uart device pci device ata -options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD Modified: head/sys/arm/conf/CUBIEBOARD ============================================================================== --- head/sys/arm/conf/CUBIEBOARD Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/CUBIEBOARD Sun Oct 11 13:01:51 2015 (r289137) @@ -59,7 +59,6 @@ device mmcsd # mmc/sd flash cards # ATA controllers device ahci # AHCI-compatible SATA controllers #device ata # Legacy ATA/SATA controllers -#options ATA_STATIC_ID # Static device numbering # Console and misc device uart Modified: head/sys/arm/conf/EFIKA_MX ============================================================================== --- head/sys/arm/conf/EFIKA_MX Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/EFIKA_MX Sun Oct 11 13:01:51 2015 (r289137) @@ -91,7 +91,6 @@ options ALT_BREAK_TO_DEBUGGER device ata device atapci # Only for helper functions device imxata -options ATA_STATIC_ID # Static device numbering device gpio device gpioled Modified: head/sys/arm/conf/EP80219 ============================================================================== --- head/sys/arm/conf/EP80219 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/EP80219 Sun Oct 11 13:01:51 2015 (r289137) @@ -76,7 +76,6 @@ device uart device pci device ata -options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD Modified: head/sys/arm/conf/IMX53 ============================================================================== --- head/sys/arm/conf/IMX53 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/IMX53 Sun Oct 11 13:01:51 2015 (r289137) @@ -80,7 +80,6 @@ options ALT_BREAK_TO_DEBUGGER device ata device atapci # Only for helper functions device imxata -options ATA_STATIC_ID # Static device numbering device gpio device gpioled Modified: head/sys/arm/conf/IQ31244 ============================================================================== --- head/sys/arm/conf/IQ31244 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/arm/conf/IQ31244 Sun Oct 11 13:01:51 2015 (r289137) @@ -75,7 +75,6 @@ device uart device pci device ata -options ATA_STATIC_ID # Static device numbering device scbus # SCSI bus (required for ATA/SCSI) device cd # CD Modified: head/sys/cam/ata/ata_da.c ============================================================================== --- head/sys/cam/ata/ata_da.c Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/cam/ata/ata_da.c Sun Oct 11 13:01:51 2015 (r289137) @@ -582,7 +582,6 @@ static void adaresume(void *arg); #define ata_disk_firmware_geom_adjust(disk) #endif -static int ada_legacy_aliases = ADA_DEFAULT_LEGACY_ALIASES; static int ada_retry_count = ADA_DEFAULT_RETRY; static int ada_default_timeout = ADA_DEFAULT_TIMEOUT; static int ada_send_ordered = ADA_DEFAULT_SEND_ORDERED; @@ -593,8 +592,6 @@ static int ada_write_cache = ADA_DEFAULT static SYSCTL_NODE(_kern_cam, OID_AUTO, ada, CTLFLAG_RD, 0, "CAM Direct Access Disk driver"); -SYSCTL_INT(_kern_cam_ada, OID_AUTO, legacy_aliases, CTLFLAG_RWTUN, - &ada_legacy_aliases, 0, "Create legacy-like device aliases"); SYSCTL_INT(_kern_cam_ada, OID_AUTO, retry_count, CTLFLAG_RWTUN, &ada_retry_count, 0, "Normal I/O retry count"); SYSCTL_INT(_kern_cam_ada, OID_AUTO, default_timeout, CTLFLAG_RWTUN, @@ -1164,11 +1161,11 @@ adaregister(struct cam_periph *periph, v struct ada_softc *softc; struct ccb_pathinq cpi; struct ccb_getdev *cgd; - char announce_buf[80], buf1[32]; + char announce_buf[80]; struct disk_params *dp; caddr_t match; u_int maxio; - int legacy_id, quirks; + int quirks; cgd = (struct ccb_getdev *)arg; if (cgd == NULL) { @@ -1331,22 +1328,6 @@ adaregister(struct cam_periph *periph, v softc->disk->d_fwheads = softc->params.heads; ata_disk_firmware_geom_adjust(softc->disk); - if (ada_legacy_aliases) { -#ifdef ATA_STATIC_ID - legacy_id = xpt_path_legacy_ata_id(periph->path); -#else - legacy_id = softc->disk->d_unit; -#endif - if (legacy_id >= 0) { - snprintf(announce_buf, sizeof(announce_buf), - "kern.devalias.%s%d", - softc->disk->d_name, softc->disk->d_unit); - snprintf(buf1, sizeof(buf1), - "ad%d", legacy_id); - kern_setenv(announce_buf, buf1); - } - } else - legacy_id = -1; /* * Acquire a reference to the periph before we register with GEOM. * We'll release this reference once GEOM calls us back (via @@ -1372,9 +1353,6 @@ adaregister(struct cam_periph *periph, v dp->secs_per_track, dp->cylinders); xpt_announce_periph(periph, announce_buf); xpt_announce_quirks(periph, softc->quirks, ADA_Q_BIT_STRING); - if (legacy_id >= 0) - printf("%s%d: Previously was known as ad%d\n", - periph->periph_name, periph->unit_number, legacy_id); /* * Create our sysctl variables, now that we know Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/cam/cam_xpt.c Sun Oct 11 13:01:51 2015 (r289137) @@ -3756,45 +3756,6 @@ xpt_path_periph(struct cam_path *path) return (path->periph); } -int -xpt_path_legacy_ata_id(struct cam_path *path) -{ - struct cam_eb *bus; - int bus_id; - - if ((strcmp(path->bus->sim->sim_name, "ata") != 0) && - strcmp(path->bus->sim->sim_name, "ahcich") != 0 && - strcmp(path->bus->sim->sim_name, "mvsch") != 0 && - strcmp(path->bus->sim->sim_name, "siisch") != 0) - return (-1); - - if (strcmp(path->bus->sim->sim_name, "ata") == 0 && - path->bus->sim->unit_number < 2) { - bus_id = path->bus->sim->unit_number; - } else { - bus_id = 2; - xpt_lock_buses(); - TAILQ_FOREACH(bus, &xsoftc.xpt_busses, links) { - if (bus == path->bus) - break; - if ((strcmp(bus->sim->sim_name, "ata") == 0 && - bus->sim->unit_number >= 2) || - strcmp(bus->sim->sim_name, "ahcich") == 0 || - strcmp(bus->sim->sim_name, "mvsch") == 0 || - strcmp(bus->sim->sim_name, "siisch") == 0) - bus_id++; - } - xpt_unlock_buses(); - } - if (path->target != NULL) { - if (path->target->target_id < 2) - return (bus_id * 2 + path->target->target_id); - else - return (-1); - } else - return (bus_id * 2); -} - /* * Release a CAM control block for the caller. Remit the cost of the structure * to the device referenced by the path. If the this device had no 'credits' Modified: head/sys/cam/cam_xpt.h ============================================================================== --- head/sys/cam/cam_xpt.h Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/cam/cam_xpt.h Sun Oct 11 13:01:51 2015 (r289137) @@ -101,7 +101,6 @@ int xpt_path_string(struct cam_path *p path_id_t xpt_path_path_id(struct cam_path *path); target_id_t xpt_path_target_id(struct cam_path *path); lun_id_t xpt_path_lun_id(struct cam_path *path); -int xpt_path_legacy_ata_id(struct cam_path *path); struct cam_sim *xpt_path_sim(struct cam_path *path); struct cam_periph *xpt_path_periph(struct cam_path *path); void xpt_async(u_int32_t async_code, struct cam_path *path, Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/conf/NOTES Sun Oct 11 13:01:51 2015 (r289137) @@ -1759,12 +1759,9 @@ hint.ata.1.irq="15" # # The following options are valid on the ATA driver: # -# ATA_STATIC_ID: controller numbering is static ie depends on location -# else the device numbers are dynamically allocated. # ATA_REQUEST_TIMEOUT: the number of seconds to wait for an ATA request # before timing out. -options ATA_STATIC_ID #options ATA_REQUEST_TIMEOUT=10 # Modified: head/sys/geom/geom_dev.c ============================================================================== --- head/sys/geom/geom_dev.c Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/geom/geom_dev.c Sun Oct 11 13:01:51 2015 (r289137) @@ -280,9 +280,9 @@ g_dev_taste(struct g_class *mp, struct g struct g_geom *gp; struct g_consumer *cp; struct g_dev_softc *sc; - int error, len; - struct cdev *dev, *adev; - char buf[SPECNAMELEN + 6], *val; + int error; + struct cdev *dev; + char buf[SPECNAMELEN + 6]; g_trace(G_T_TOPOLOGY, "dev_taste(%s,%s)", mp->name, pp->name); g_topology_assert(); @@ -310,33 +310,9 @@ g_dev_taste(struct g_class *mp, struct g dev->si_flags |= SI_UNMAPPED; sc->sc_dev = dev; - /* Search for device alias name and create it if found. */ - adev = NULL; - for (len = MIN(strlen(gp->name), sizeof(buf) - 15); len > 0; len--) { - snprintf(buf, sizeof(buf), "kern.devalias.%s", gp->name); - buf[14 + len] = 0; - val = kern_getenv(buf); - if (val != NULL) { - snprintf(buf, sizeof(buf), "%s%s", - val, gp->name + len); - freeenv(val); - if ((make_dev_alias_p(MAKEDEV_CHECKNAME|MAKEDEV_WAITOK, - &adev, dev, "%s", buf)) != 0) - printf("Warning: unable to create device " - "alias %s\n", buf); - break; - } - } - dev->si_iosize_max = MAXPHYS; dev->si_drv2 = cp; init_dumpdev(dev); - if (adev != NULL) { - adev->si_iosize_max = MAXPHYS; - adev->si_drv2 = cp; - adev->si_flags |= SI_UNMAPPED; - init_dumpdev(adev); - } g_dev_attrchanged(cp, "GEOM::physpath"); snprintf(buf, sizeof(buf), "cdev=%s", gp->name); Modified: head/sys/geom/raid/g_raid.c ============================================================================== --- head/sys/geom/raid/g_raid.c Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/geom/raid/g_raid.c Sun Oct 11 13:01:51 2015 (r289137) @@ -82,10 +82,6 @@ static u_int g_raid_idle_threshold = 100 SYSCTL_UINT(_kern_geom_raid, OID_AUTO, idle_threshold, CTLFLAG_RWTUN, &g_raid_idle_threshold, 1000000, "Time in microseconds to consider a volume idle."); -static u_int ar_legacy_aliases = 1; -SYSCTL_INT(_kern_geom_raid, OID_AUTO, legacy_aliases, CTLFLAG_RWTUN, - &ar_legacy_aliases, 0, "Create aliases named as the legacy ataraid style."); - #define MSLEEP(rv, ident, mtx, priority, wmesg, timeout) do { \ G_RAID_DEBUG(4, "%s: Sleeping %p.", __func__, (ident)); \ @@ -1628,7 +1624,6 @@ g_raid_launch_provider(struct g_raid_vol struct g_raid_softc *sc; struct g_provider *pp; char name[G_RAID_MAX_VOLUMENAME]; - char announce_buf[80], buf1[32]; off_t off; int i; @@ -1644,21 +1639,6 @@ g_raid_launch_provider(struct g_raid_vol snprintf(name, sizeof(name), "raid/r%d", vol->v_global_id); } - /* - * Create a /dev/ar%d that the old ataraid(4) stack once - * created as an alias for /dev/raid/r%d if requested. - * This helps going from stable/7 ataraid devices to newer - * FreeBSD releases. sbruno 07 MAY 2013 - */ - - if (ar_legacy_aliases) { - snprintf(announce_buf, sizeof(announce_buf), - "kern.devalias.%s", name); - snprintf(buf1, sizeof(buf1), - "ar%d", vol->v_global_id); - kern_setenv(announce_buf, buf1); - } - pp = g_new_providerf(sc->sc_geom, "%s", name); pp->flags |= G_PF_DIRECT_RECEIVE; if (vol->v_tr->tro_class->trc_accept_unmapped) { Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/i386/conf/GENERIC Sun Oct 11 13:01:51 2015 (r289137) @@ -109,7 +109,6 @@ device fdc # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers -options ATA_STATIC_ID # Static device numbering device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA Modified: head/sys/i386/conf/XBOX ============================================================================== --- head/sys/i386/conf/XBOX Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/i386/conf/XBOX Sun Oct 11 13:01:51 2015 (r289137) @@ -51,7 +51,6 @@ device pci # ATA and ATAPI devices device ata -options ATA_STATIC_ID # Static device numbering # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) Modified: head/sys/mips/conf/OCTEON1 ============================================================================== --- head/sys/mips/conf/OCTEON1 Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/mips/conf/OCTEON1 Sun Oct 11 13:01:51 2015 (r289137) @@ -108,7 +108,6 @@ device pci # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers -options ATA_STATIC_ID # Static device numbering device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA Modified: head/sys/mips/conf/std.SWARM ============================================================================== --- head/sys/mips/conf/std.SWARM Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/mips/conf/std.SWARM Sun Oct 11 13:01:51 2015 (r289137) @@ -57,4 +57,3 @@ device da device pass device ata -options ATA_STATIC_ID # Static device numbering Modified: head/sys/pc98/conf/GENERIC ============================================================================== --- head/sys/pc98/conf/GENERIC Sun Oct 11 08:28:49 2015 (r289136) +++ head/sys/pc98/conf/GENERIC Sun Oct 11 13:01:51 2015 (r289137) @@ -93,7 +93,6 @@ device fdc # ATA controllers device ahci # AHCI-compatible SATA controllers device ata # Legacy ATA/SATA controllers -options ATA_STATIC_ID # Static device numbering device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA From owner-svn-src-head@freebsd.org Sun Oct 11 13:48:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F8F2A1101A; Sun, 11 Oct 2015 13:48:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1EE2587B; Sun, 11 Oct 2015 13:48:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BDmLXO050203; Sun, 11 Oct 2015 13:48:21 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BDmLWJ050199; Sun, 11 Oct 2015 13:48:21 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510111348.t9BDmLWJ050199@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 11 Oct 2015 13:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289138 - in head/sys/cam: ata scsi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 13:48:22 -0000 Author: mav Date: Sun Oct 11 13:48:20 2015 New Revision: 289138 URL: https://svnweb.freebsd.org/changeset/base/289138 Log: Remove legacy CHS geometry from dmesg and unify capacity outputs. Modified: head/sys/cam/ata/ata_da.c head/sys/cam/scsi/scsi_cd.c head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/ata/ata_da.c ============================================================================== --- head/sys/cam/ata/ata_da.c Sun Oct 11 13:01:51 2015 (r289137) +++ head/sys/cam/ata/ata_da.c Sun Oct 11 13:48:20 2015 (r289138) @@ -1345,12 +1345,9 @@ adaregister(struct cam_periph *periph, v dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), - "%juMB (%ju %u byte sectors: %dH %dS/T %dC)", - (uintmax_t)(((uintmax_t)dp->secsize * - dp->sectors) / (1024*1024)), - (uintmax_t)dp->sectors, - dp->secsize, dp->heads, - dp->secs_per_track, dp->cylinders); + "%juMB (%ju %u byte sectors)", + ((uintmax_t)dp->secsize * dp->sectors) / (1024 * 1024), + (uintmax_t)dp->sectors, dp->secsize); xpt_announce_periph(periph, announce_buf); xpt_announce_quirks(periph, softc->quirks, ADA_Q_BIT_STRING); Modified: head/sys/cam/scsi/scsi_cd.c ============================================================================== --- head/sys/cam/scsi/scsi_cd.c Sun Oct 11 13:01:51 2015 (r289137) +++ head/sys/cam/scsi/scsi_cd.c Sun Oct 11 13:48:20 2015 (r289138) @@ -1081,11 +1081,11 @@ cddone(struct cam_periph *periph, union if ((csio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP || (error = cderror(done_ccb, CAM_RETRY_SELTO, SF_RETRY_UA | SF_NO_PRINT)) == 0) { - snprintf(announce_buf, sizeof(announce_buf), - "cd present [%lu x %lu byte records]", - cdp->disksize, (u_long)cdp->blksize); - + "%juMB (%ju %u byte sectors)", + ((uintmax_t)cdp->disksize * cdp->blksize) / + (1024 * 1024), + (uintmax_t)cdp->disksize, cdp->blksize); } else { if (error == ERESTART) { /* Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Sun Oct 11 13:01:51 2015 (r289137) +++ head/sys/cam/scsi/scsi_da.c Sun Oct 11 13:48:20 2015 (r289138) @@ -3149,13 +3149,10 @@ dadone(struct cam_periph *periph, union lbp = (lalba & SRC16_LBPME_A); dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), - "%juMB (%ju %u byte sectors: %dH %dS/T " - "%dC)", (uintmax_t) - (((uintmax_t)dp->secsize * - dp->sectors) / (1024*1024)), - (uintmax_t)dp->sectors, - dp->secsize, dp->heads, - dp->secs_per_track, dp->cylinders); + "%juMB (%ju %u byte sectors)", + ((uintmax_t)dp->secsize * dp->sectors) / + (1024 * 1024), + (uintmax_t)dp->sectors, dp->secsize); } } else { int error; From owner-svn-src-head@freebsd.org Sun Oct 11 17:45:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F8E3A11317; Sun, 11 Oct 2015 17:45:22 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x22b.google.com (mail-pa0-x22b.google.com [IPv6:2607:f8b0:400e:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D58AC1357; Sun, 11 Oct 2015 17:45:21 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by pabve7 with SMTP id ve7so74640409pab.2; Sun, 11 Oct 2015 10:45:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=IDgmP7pkjvuRvxFECKxdxIKrAGFw5iHn7CXux4GZ7Jw=; b=IiT4EeuEqyluQcx3K5eiOPGPTWYSarBLN9U7lVN2DsyEHx5O4GtH2jUbC2s2gv2ymz KWxpDb+sQlhx74j5URa4ARtB265NyHoahGee3Y1+HXhRrPCPZU5ZvCtTrQHHyLzB9XTa SDFa9D528/pyKl+mWzWwEyq+/nGLnyUXF/LKNqysIb6gFkfX/pNIHxrc9mHvXHPgQmMJ 8U+ogoonpbgK2S2uZdezEI/Om9NbxfGzZnlv73lXybq6oj+5Bgw9NhmAMrFMbtXSQmhT Zz8Us7eiwAqyeGpHNfykSeAiTb6PqydHEszL2sWhXA68jZuYulzK7PlJpBmOWdq6/rbH XKjw== X-Received: by 10.66.190.6 with SMTP id gm6mr29285863pac.27.1444585521403; Sun, 11 Oct 2015 10:45:21 -0700 (PDT) Received: from ?IPv6:2601:601:800:126d:95a9:d549:1e19:96f3? ([2601:601:800:126d:95a9:d549:1e19:96f3]) by smtp.gmail.com with ESMTPSA id si10sm13835759pab.15.2015.10.11.10.45.20 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 11 Oct 2015 10:45:20 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r289137 - in head: . sbin/geom/class/raid share/man/man4 sys/amd64/conf sys/arm/conf sys/cam sys/cam/ata sys/conf sys/geom sys/geom/raid sys/i386/conf sys/mips/conf sys/pc98/conf From: Garrett Cooper X-Mailer: iPhone Mail (13A452) In-Reply-To: <201510111301.t9BD1poi035565@repo.freebsd.org> Date: Sun, 11 Oct 2015 10:45:19 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: References: <201510111301.t9BD1poi035565@repo.freebsd.org> To: Alexander Motin X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 17:45:22 -0000 > On Oct 11, 2015, at 06:01, Alexander Motin wrote: > > Author: mav > Date: Sun Oct 11 13:01:51 2015 > New Revision: 289137 > URL: https://svnweb.freebsd.org/changeset/base/289137 > > Log: > Remove compatibility shims for legacy ATA device names. > > We got new ATA stack in FreeBSD 8.x, switched to it at 9.x, completely > removed old stack at 10.x, so at 11.x it is time to remove compat shims. Relnotes: yes! From owner-svn-src-head@freebsd.org Sun Oct 11 17:45:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F008A1131B; Sun, 11 Oct 2015 17:45:22 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 514DC1359; Sun, 11 Oct 2015 17:45:22 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BHjKHs030540; Sun, 11 Oct 2015 17:45:20 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BHjKtj030537; Sun, 11 Oct 2015 17:45:20 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201510111745.t9BHjKtj030537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 11 Oct 2015 17:45:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289144 - head/contrib/dma X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 17:45:22 -0000 Author: bapt Date: Sun Oct 11 17:45:20 2015 New Revision: 289144 URL: https://svnweb.freebsd.org/changeset/base/289144 Log: Fix build with gcc 4.2 Modified: head/contrib/dma/conf.c head/contrib/dma/dma.c head/contrib/dma/mail.c Modified: head/contrib/dma/conf.c ============================================================================== --- head/contrib/dma/conf.c Sun Oct 11 17:37:21 2015 (r289143) +++ head/contrib/dma/conf.c Sun Oct 11 17:45:20 2015 (r289144) @@ -121,7 +121,7 @@ parse_authfile(const char *path) au = calloc(1, sizeof(*au)); if (au == NULL) - errlog(EX_OSERR, NULL); + errlog(EX_OSERR, "calloc()"); data = strdup(line); au->login = strsep(&data, "|"); Modified: head/contrib/dma/dma.c ============================================================================== --- head/contrib/dma/dma.c Sun Oct 11 17:37:21 2015 (r289143) +++ head/contrib/dma/dma.c Sun Oct 11 17:45:20 2015 (r289144) @@ -596,7 +596,7 @@ skipopts: errlog(EX_SOFTWARE, "could not parse aliases file `%s'", config.aliases); if ((sender = set_from(&queue, sender)) == NULL) - errlog(EX_SOFTWARE, NULL); + errlog(EX_SOFTWARE, "set_from()"); if (newspoolf(&queue) != 0) errlog(EX_CANTCREAT, "can not create temp file in `%s'", config.spooldir); Modified: head/contrib/dma/mail.c ============================================================================== --- head/contrib/dma/mail.c Sun Oct 11 17:37:21 2015 (r289143) +++ head/contrib/dma/mail.c Sun Oct 11 17:45:20 2015 (r289144) @@ -333,7 +333,7 @@ newaddr: ps->pos = 0; addr = strdup(ps->addr); if (addr == NULL) - errlog(EX_SOFTWARE, NULL); + errlog(EX_SOFTWARE, "strdup"); if (add_recp(queue, addr, EXPAND_WILDCARD) != 0) errlogx(EX_DATAERR, "invalid recipient `%s'", addr); From owner-svn-src-head@freebsd.org Sun Oct 11 18:26:07 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB5BEA11CE4; Sun, 11 Oct 2015 18:26:07 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B2CABC74; Sun, 11 Oct 2015 18:26:07 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BIQ6KM042787; Sun, 11 Oct 2015 18:26:06 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BIQ6qI042785; Sun, 11 Oct 2015 18:26:06 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510111826.t9BIQ6qI042785@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 11 Oct 2015 18:26:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289146 - in head: share/man/man4 sys/cam/scsi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 18:26:08 -0000 Author: mav Date: Sun Oct 11 18:26:06 2015 New Revision: 289146 URL: https://svnweb.freebsd.org/changeset/base/289146 Log: Make delete method set via kern.cam.da.X.delete_method persistent. This allows to set delete method via tunable, before device capabilities are known. Also allow ZERO method for devices not reporting LBP, if user explicitly requests it -- it may be useful if storage supports compression and WRITE SAME, but does not support UNMAP. MFC after: 2 weeks Modified: head/share/man/man4/da.4 head/sys/cam/scsi/scsi_da.c Modified: head/share/man/man4/da.4 ============================================================================== --- head/share/man/man4/da.4 Sun Oct 11 17:59:20 2015 (r289145) +++ head/share/man/man4/da.4 Sun Oct 11 18:26:06 2015 (r289146) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 22, 2014 +.Dd October 11, 2015 .Dt DA 4 .Os .Sh NAME @@ -133,8 +133,7 @@ variables and .Xr loader 8 tunables: .Bl -tag -width 12 -.It kern.cam.da.retry_count -.Pp +.It Va kern.cam.da.retry_count This variable determines how many times the .Nm driver will retry a READ or WRITE command. @@ -143,8 +142,7 @@ the .Nm driver dump routine. This value currently defaults to 4. -.It kern.cam.da.default_timeout -.Pp +.It Va kern.cam.da.default_timeout This variable determines how long the .Nm driver will wait before timing out an outstanding command. @@ -152,20 +150,31 @@ The units for this value are seconds, an seconds. .It Va kern.cam.sort_io_queue .It Va kern.cam.da. Ns Ar X Ns Va .sort_io_queue -.Pp These variables determine whether request queue should be sorted trying to optimize head seeks. Set to 1 to enable sorting, 0 to disable, -1 to leave it as-is. The default is sorting enabled for HDDs and disabled for SSDs. -.It kern.cam.da.%d.minimum_cmd_size -.Pp +.It Va kern.cam.da. Ns Ar X Ns Va .delete_method +This variable specifies method to handle BIO_DELETE requests: +.Bl -tag +.It ATA_TRIM +ATA TRIM via ATA COMMAND PASS THROUGH command, +.It UNMAP +UNMAP command, +.It WS16 +WRITE SAME(16) command with UNMAP flag, +.It WS10 +WRITE SAME(10) command with UNMAP flag, +.It ZERO +WRITE SAME(10) command without UNMAP flag, +.It DISABLE +disable BIO_DELETE support. +.El +.It Va kern.cam.da. Ns Ar X Ns Va .minimum_cmd_size This variable determines what the minimum READ/WRITE CDB size is for a given .Nm unit. -(The %d above denotes the unit number of the -.Nm -driver instance, e.g.\& 1, 2, 4, 8, etc.) Valid minimum command size values are 6, 10, 12 and 16 bytes. The default is 6 bytes. .Pp Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Sun Oct 11 17:59:20 2015 (r289145) +++ head/sys/cam/scsi/scsi_da.c Sun Oct 11 18:26:06 2015 (r289146) @@ -219,6 +219,7 @@ struct da_softc { uint32_t unmap_max_ranges; uint32_t unmap_max_lba; /* Max LBAs in UNMAP req */ uint64_t ws_max_blks; + da_delete_methods delete_method_pref; da_delete_methods delete_method; da_delete_func_t *delete_func; struct disk_params params; @@ -1801,7 +1802,7 @@ dasysctlinit(void *context, int pending) * the fly. */ SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "delete_method", CTLTYPE_STRING | CTLFLAG_RW, + OID_AUTO, "delete_method", CTLTYPE_STRING | CTLFLAG_RWTUN, softc, 0, dadeletemethodsysctl, "A", "BIO_DELETE execution method"); SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), @@ -1912,7 +1913,6 @@ static void dadeletemethodset(struct da_softc *softc, da_delete_methods delete_method) { - softc->delete_method = delete_method; softc->disk->d_delmaxsize = dadeletemaxsize(softc, delete_method); softc->delete_func = da_delete_functions[delete_method]; @@ -1965,25 +1965,17 @@ daprobedone(struct cam_periph *periph, u snprintf(buf, sizeof(buf), "Delete methods: <"); sep = 0; - for (i = DA_DELETE_MIN; i <= DA_DELETE_MAX; i++) { - if (softc->delete_available & (1 << i)) { - if (sep) { - strlcat(buf, ",", sizeof(buf)); - } else { - sep = 1; - } - strlcat(buf, da_delete_method_names[i], - sizeof(buf)); - if (i == softc->delete_method) { - strlcat(buf, "(*)", sizeof(buf)); - } - } - } - if (sep == 0) { - if (softc->delete_method == DA_DELETE_NONE) - strlcat(buf, "NONE(*)", sizeof(buf)); - else - strlcat(buf, "DISABLED(*)", sizeof(buf)); + for (i = 0; i <= DA_DELETE_MAX; i++) { + if ((softc->delete_available & (1 << i)) == 0 && + i != softc->delete_method) + continue; + if (sep) + strlcat(buf, ",", sizeof(buf)); + strlcat(buf, da_delete_method_names[i], + sizeof(buf)); + if (i == softc->delete_method) + strlcat(buf, "(*)", sizeof(buf)); + sep = 1; } strlcat(buf, ">", sizeof(buf)); printf("%s%d: %s\n", periph->periph_name, @@ -2013,21 +2005,28 @@ daprobedone(struct cam_periph *periph, u static void dadeletemethodchoose(struct da_softc *softc, da_delete_methods default_method) { - int i, delete_method; + int i, methods; - delete_method = default_method; + /* If available, prefer the method requested by user. */ + i = softc->delete_method_pref; + methods = softc->delete_available | (1 << DA_DELETE_DISABLE); + if (methods & (1 << i)) { + dadeletemethodset(softc, i); + return; + } - /* - * Use the pre-defined order to choose the best - * performing delete. - */ + /* Use the pre-defined order to choose the best performing delete. */ for (i = DA_DELETE_MIN; i <= DA_DELETE_MAX; i++) { + if (i == DA_DELETE_ZERO) + continue; if (softc->delete_available & (1 << i)) { dadeletemethodset(softc, i); return; } } - dadeletemethodset(softc, delete_method); + + /* Fallback to default. */ + dadeletemethodset(softc, default_method); } static int @@ -2051,13 +2050,14 @@ dadeletemethodsysctl(SYSCTL_HANDLER_ARGS return (error); methods = softc->delete_available | (1 << DA_DELETE_DISABLE); for (i = 0; i <= DA_DELETE_MAX; i++) { - if (!(methods & (1 << i)) || - strcmp(buf, da_delete_method_names[i]) != 0) - continue; - dadeletemethodset(softc, i); - return (0); + if (strcmp(buf, da_delete_method_names[i]) == 0) + break; } - return (EINVAL); + if (i > DA_DELETE_MAX) + return (EINVAL); + softc->delete_method_pref = i; + dadeletemethodchoose(softc, DA_DELETE_NONE); + return (0); } static cam_status @@ -3288,6 +3288,7 @@ dadone(struct cam_periph *periph, union /* Ensure re-probe doesn't see old delete. */ softc->delete_available = 0; + dadeleteflag(softc, DA_DELETE_ZERO, 1); if (lbp && (softc->quirks & DA_Q_NO_UNMAP) == 0) { /* * Based on older SBC-3 spec revisions @@ -3304,7 +3305,6 @@ dadone(struct cam_periph *periph, union */ dadeleteflag(softc, DA_DELETE_WS16, 1); dadeleteflag(softc, DA_DELETE_WS10, 1); - dadeleteflag(softc, DA_DELETE_ZERO, 1); dadeleteflag(softc, DA_DELETE_UNMAP, 1); xpt_release_ccb(done_ccb); @@ -3333,8 +3333,6 @@ dadone(struct cam_periph *periph, union (lbp->flags & SVPD_LBP_WS16)); dadeleteflag(softc, DA_DELETE_WS10, (lbp->flags & SVPD_LBP_WS10)); - dadeleteflag(softc, DA_DELETE_ZERO, - (lbp->flags & SVPD_LBP_WS10)); dadeleteflag(softc, DA_DELETE_UNMAP, (lbp->flags & SVPD_LBP_UNMAP)); } else { From owner-svn-src-head@freebsd.org Sun Oct 11 18:37:31 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 125E8A11EFC; Sun, 11 Oct 2015 18:37:31 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B578E106C; Sun, 11 Oct 2015 18:37:30 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BIbTQ0045740; Sun, 11 Oct 2015 18:37:29 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BIbTPQ045739; Sun, 11 Oct 2015 18:37:29 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201510111837.t9BIbTPQ045739@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Sun, 11 Oct 2015 18:37:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289147 - head/sys/mips/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 18:37:31 -0000 Author: sbruno Date: Sun Oct 11 18:37:29 2015 New Revision: 289147 URL: https://svnweb.freebsd.org/changeset/base/289147 Log: Correct flash layout (this is a 4M flash unit). Remove "rootfs" entry and assign the 800K or so to the kernel partition as this unit boots from usb mass storage. Modified: head/sys/mips/conf/TP-MR3020.hints Modified: head/sys/mips/conf/TP-MR3020.hints ============================================================================== --- head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 18:26:06 2015 (r289146) +++ head/sys/mips/conf/TP-MR3020.hints Sun Oct 11 18:37:29 2015 (r289147) @@ -8,7 +8,7 @@ hint.argemdio.0.at="nexus0" hint.argemdio.0.maddr=0x1a000000 hint.argemdio.0.msize=0x1000 hint.argemdio.0.order=0 - + # There's no need to set the ar933x GMAC configuration bits. # This just creates a switch instance and correctly uses it. @@ -39,7 +39,7 @@ hint.ath.0.eepromsize=16384 hint.ar71xx.0.eeprom_mac_addr=0x1f01fc00 -# The board 16MiB flash layout in uboot env: +# The board 4MiB flash layout in uboot env: # # 256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART) @@ -58,35 +58,28 @@ hint.map.1.at="flash/spi0" hint.map.1.start=0x00040000 hint.map.1.end=0x00050000 hint.map.1.name="uboot-env" -hint.map.1.readonly=0 +hint.map.1.readonly=1 -# 2752KB +# 3648KB hint.map.2.at="flash/spi0" hint.map.2.start=0x00050000 -hint.map.2.end="search:0x00100000:0x10000:.!/bin/sh" +hint.map.2.end=0x003e0000 hint.map.2.name="kernel" -hint.map.2.readonly=0 +hint.map.2.readonly=1 -# 896KB +# 64K NVRAM hint.map.3.at="flash/spi0" -hint.map.3.start="search:0x00100000:0x10000:.!/bin/sh" -hint.map.3.end=0x003e0000 -hint.map.3.name="rootfs" +hint.map.3.start=0x003e0000 +hint.map.3.end=0x003f0000 +hint.map.3.name="cfg" hint.map.3.readonly=0 -# 64K NVRAM -hint.map.4.at="flash/spi0" -hint.map.4.start=0x003e0000 -hint.map.4.end=0x003f0000 -hint.map.4.name="cfg" -hint.map.4.readonly=0 - # 64K ART -hint.map.5.at="flash/spi0" -hint.map.5.start=0x003f0000 -hint.map.5.end=0x00400000 -hint.map.5.name="art" -hint.map.5.readonly=1 +hint.map.4.at="flash/spi0" +hint.map.4.start=0x003f0000 +hint.map.4.end=0x00400000 +hint.map.4.name="art" +hint.map.4.readonly=1 # GPIO specific configuration block From owner-svn-src-head@freebsd.org Sun Oct 11 19:18:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F17F6A11634 for ; Sun, 11 Oct 2015 19:18:42 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: from vfemail.net (ninezero.vfemail.net [96.30.253.190]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1F04165 for ; Sun, 11 Oct 2015 19:18:42 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: (qmail 82714 invoked by uid 89); 11 Oct 2015 19:18:35 -0000 Received: from localhost (HELO freequeue.vfemail.net) (127.0.0.1) by localhost with (DHE-RSA-AES256-SHA encrypted) SMTP; 11 Oct 2015 19:18:35 -0000 Received: (qmail 82655 invoked by uid 89); 11 Oct 2015 19:18:17 -0000 Received: by simscan 1.3.1 ppid: 82647, pid: 82651, t: 0.0051s scanners:none Received: from unknown (HELO smtp102-2.vfemail.net) (172.16.100.62) by FreeQueue with SMTP; 11 Oct 2015 19:18:17 -0000 Received: (qmail 32076 invoked by uid 89); 11 Oct 2015 19:18:17 -0000 Received: by simscan 1.4.0 ppid: 32043, pid: 32072, t: 0.8285s scanners:none Received: from unknown (HELO nil) (amJlaWNoQHZmZW1haWwubmV0@172.16.100.27) by 172.16.100.62 with ESMTPA; 11 Oct 2015 19:18:16 -0000 From: Jan Beich To: Baptiste Daroussin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r289114 - in head: libexec/dma/dmagent share/mk usr.sbin/ppp In-Reply-To: <201510101048.t9AAm9UN054460@repo.freebsd.org> (Baptiste Daroussin's message of "Sat, 10 Oct 2015 10:48:09 +0000 (UTC)") References: <201510101048.t9AAm9UN054460@repo.freebsd.org> Date: Sun, 11 Oct 2015 21:17:57 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 19:18:43 -0000 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Baptiste Daroussin writes: > Modified: head/share/mk/bsd.own.mk > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/share/mk/bsd.own.mk Sat Oct 10 09:37:31 2015 (r289113) > +++ head/share/mk/bsd.own.mk Sat Oct 10 10:48:09 2015 (r289114) > @@ -213,7 +213,7 @@ NLSGRP?=3D ${SHAREGRP} > NLSMODE?=3D ${NOBINMODE} >=20=20 > INCLUDEDIR?=3D /usr/include > -ETCDIR?=3D /etc > +CONFIGDIR?=3D /etc >=20=20 > # > # install(1) parameters. Why do you need CONFIGDIR when there's CONFDIR? Also, the former lacks description in the header of the file. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQF8BAEBCgBmBQJWGrXlXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3b1hUH/1v7+boQoSK9hb3aZ5QD0sUk yxhRgSW09smqPM+Yim1UymmpnMQVQuL0ZJ39RaFBpXBgfY29TbtvVVob7QzIZX0U 5lD4NXKJ9ZrrZa1ZP1of1UtyRfxomCxikDWiDSnaoCaP14CdFlrYi3dapuQkQ4tY KaPdf2nXEIGPziVodXRQUEjw/EXwcYeHYF3QfKVRNzGhLrmuYmhaM2tzhB4H3Yzu EHWeSUKEXfVkufuFVGM1aaIvHmsMI+3Fk9JUpT9u9axDMGQR7NxjHH6gIaK8bu+d D0Zqz4gpzAKfec/Jb9JcbNyGytb0RCrkiqQKujA7DaaajujaaKVnJtbTH/oig2M= =/ZXS -----END PGP SIGNATURE----- --=-=-=-- From owner-svn-src-head@freebsd.org Sun Oct 11 19:25:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1249CA11817; Sun, 11 Oct 2015 19:25:41 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B63FF80D; Sun, 11 Oct 2015 19:25:40 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BJPdUx060404; Sun, 11 Oct 2015 19:25:39 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BJPd9d060401; Sun, 11 Oct 2015 19:25:39 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201510111925.t9BJPd9d060401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 11 Oct 2015 19:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289148 - in head: libexec/dma/dmagent share/mk usr.sbin/ppp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 19:25:41 -0000 Author: bapt Date: Sun Oct 11 19:25:39 2015 New Revision: 289148 URL: https://svnweb.freebsd.org/changeset/base/289148 Log: Use existing CONFDIR instead of adding a new CONFIGDIR Reported by: jbeich Modified: head/libexec/dma/dmagent/Makefile head/share/mk/bsd.own.mk head/usr.sbin/ppp/Makefile Modified: head/libexec/dma/dmagent/Makefile ============================================================================== --- head/libexec/dma/dmagent/Makefile Sun Oct 11 18:37:29 2015 (r289147) +++ head/libexec/dma/dmagent/Makefile Sun Oct 11 19:25:39 2015 (r289148) @@ -17,7 +17,7 @@ SRCS= aliases_parse.y \ util.c MAN8= dma.8 CONFS= dma.conf -CONFSDIR= ${CONFIGDIR}/dma +CONFSDIR= ${CONFDIR}/dma YFLAGS+= -i CLEANFILES= aliases_parse.i FILES= mailer.conf Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Sun Oct 11 18:37:29 2015 (r289147) +++ head/share/mk/bsd.own.mk Sun Oct 11 19:25:39 2015 (r289148) @@ -213,7 +213,6 @@ NLSGRP?= ${SHAREGRP} NLSMODE?= ${NOBINMODE} INCLUDEDIR?= /usr/include -CONFIGDIR?= /etc # # install(1) parameters. Modified: head/usr.sbin/ppp/Makefile ============================================================================== --- head/usr.sbin/ppp/Makefile Sun Oct 11 18:37:29 2015 (r289147) +++ head/usr.sbin/ppp/Makefile Sun Oct 11 19:25:39 2015 (r289148) @@ -22,7 +22,7 @@ PPP_NO_RADIUS= PPP_NO_SUID= .endif CONFS= ppp.conf -CONFSDIR= ${CONFIGDIR}/ppp +CONFSDIR= ${CONFDIR}/ppp CONFSMODE= 600 .if ${MK_ATM} == "no" From owner-svn-src-head@freebsd.org Sun Oct 11 19:26:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A30F1A1189A; Sun, 11 Oct 2015 19:26:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 39CC096C; Sun, 11 Oct 2015 19:26:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wicgb1 with SMTP id gb1so27665031wic.1; Sun, 11 Oct 2015 12:26:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=yr6/+6jmmUFwP+IA1HOVHJZdBdJyjdM1bWkUUF2xXaI=; b=Y1LvSBmy5dexE5JYYaBgHXJVz2RDWh0TqygzfeGAV1zJzfJ30B++KZGPvKdhowhXbZ OcgzhNOsTc/ZqRBg60idG6kuF4Rj4FE2/vNPJLVY0rko1GiXyZEnHJHSN5DoouQAwwua pdZK5RjvAKklw9APPSpBvRdn+OC/pYO2qPb2NwPEZGg8Mf4Xk5mib17DyqJ07Up1nvkb Ly6C1Clzypc/t7JZmAkN4JtiO1pPhaxwBzyh0w1OkRFg9OwQTWcO9VaRmPqK4DuH3FsK JhKNRAy/kvWobzEE5eiEom8JCsPgXWYbRCtBGkY9YpskxGMvtXWCN7saMy0fIKXvhPKd TZNw== X-Received: by 10.180.10.170 with SMTP id j10mr5598547wib.48.1444591573845; Sun, 11 Oct 2015 12:26:13 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id bh5sm15380504wjb.42.2015.10.11.12.26.12 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Oct 2015 12:26:13 -0700 (PDT) Sender: Baptiste Daroussin Date: Sun, 11 Oct 2015 21:26:11 +0200 From: Baptiste Daroussin To: Jan Beich Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r289114 - in head: libexec/dma/dmagent share/mk usr.sbin/ppp Message-ID: <20151011192610.GR91729@ivaldir.etoilebsd.net> References: <201510101048.t9AAm9UN054460@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="VmyrZ50r30oK77nV" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 19:26:16 -0000 --VmyrZ50r30oK77nV Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Oct 11, 2015 at 09:17:57PM +0200, Jan Beich wrote: > Baptiste Daroussin writes: >=20 > > Modified: head/share/mk/bsd.own.mk > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > --- head/share/mk/bsd.own.mk Sat Oct 10 09:37:31 2015 (r289113) > > +++ head/share/mk/bsd.own.mk Sat Oct 10 10:48:09 2015 (r289114) > > @@ -213,7 +213,7 @@ NLSGRP?=3D ${SHAREGRP} > > NLSMODE?=3D ${NOBINMODE} > > =20 > > INCLUDEDIR?=3D /usr/include > > -ETCDIR?=3D /etc > > +CONFIGDIR?=3D /etc > > =20 > > # > > # install(1) parameters. >=20 > Why do you need CONFIGDIR when there's CONFDIR? Also, the former lacks > description in the header of the file. Because I missed it, fixed now. Best regards, Bapt --VmyrZ50r30oK77nV Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlYat9IACgkQ8kTtMUmk6ExH9ACgnPEQ+CZpGHbZrgH31kPVwzHv uD0AoJuFeiRkPcx8JDReGM477n+42dod =z0hP -----END PGP SIGNATURE----- --VmyrZ50r30oK77nV-- From owner-svn-src-head@freebsd.org Sun Oct 11 19:58:58 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9C32DA11FA8; Sun, 11 Oct 2015 19:58:58 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 662E41645; Sun, 11 Oct 2015 19:58:58 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BJwvPl069444; Sun, 11 Oct 2015 19:58:57 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BJwvuI069443; Sun, 11 Oct 2015 19:58:57 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201510111958.t9BJwvuI069443@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 11 Oct 2015 19:58:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289150 - head/contrib/gcc/cp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 19:58:58 -0000 Author: pfg Date: Sun Oct 11 19:58:57 2015 New Revision: 289150 URL: https://svnweb.freebsd.org/changeset/base/289150 Log: Correct handling of enum attributes with g++ From OpenBSD's commit log: This was responsible for memory corruption with recent versions of Mesa where c and c++ code share a header with a packed enum type. Reference: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219 Obtained from: OpenBSD (CVS rev. 1.2) MFC after: 1 week Modified: head/contrib/gcc/cp/parser.c Modified: head/contrib/gcc/cp/parser.c ============================================================================== --- head/contrib/gcc/cp/parser.c Sun Oct 11 19:30:09 2015 (r289149) +++ head/contrib/gcc/cp/parser.c Sun Oct 11 19:58:57 2015 (r289150) @@ -10906,6 +10906,7 @@ cp_parser_enum_specifier (cp_parser* par if (cp_parser_allow_gnu_extensions_p (parser)) { tree trailing_attr = cp_parser_attributes_opt (parser); + trailing_attr = chainon (trailing_attr, attributes); cplus_decl_attributes (&type, trailing_attr, (int) ATTR_FLAG_TYPE_IN_PLACE); From owner-svn-src-head@freebsd.org Sun Oct 11 20:02:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1DA6EA11127; Sun, 11 Oct 2015 20:02:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C13F1B07; Sun, 11 Oct 2015 20:02:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BK2AKc072157; Sun, 11 Oct 2015 20:02:10 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BK2Aob072156; Sun, 11 Oct 2015 20:02:10 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510112002.t9BK2Aob072156@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 11 Oct 2015 20:02:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289151 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:02:12 -0000 Author: ngie Date: Sun Oct 11 20:02:10 2015 New Revision: 289151 URL: https://svnweb.freebsd.org/changeset/base/289151 Log: Simplify netbsd-tests.test.mk - projects/bmake and subsequent commits provide SRCTOP; there's no need to manually specify it now. - Compute a sane default for OBJTOP based on .OBJDIR and RELDIR. Manually specifying this is probably no longer needed, but it persists just in case (supporting commits will need to be made to move it out of some of the meta .mk files). - Compute a sane default for TESTSRC. Error out if the path cannot be found. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/netbsd-tests.test.mk Directory Properties: head/ (props changed) Modified: head/share/mk/netbsd-tests.test.mk ============================================================================== --- head/share/mk/netbsd-tests.test.mk Sun Oct 11 19:58:57 2015 (r289150) +++ head/share/mk/netbsd-tests.test.mk Sun Oct 11 20:02:10 2015 (r289151) @@ -3,16 +3,12 @@ .if !target(__netbsd_tests.test.mk__) __netbsd_tests.test.mk__: -.if !defined(OBJTOP) -.error "Please define OBJTOP to the absolute path of the top of the object tree" -.endif +OBJTOP?= ${.OBJDIR:S/${RELDIR}//} -.if !defined(SRCTOP) -.error "Please define SRCTOP to the absolute path of the top of the source tree" -.endif +TESTSRC?= ${SRCTOP}/contrib/netbsd-tests/${RELDIR:H} -.if !defined(TESTSRC) -.error "Please define TESTSRC to the absolute path of the test sources, e.g. contrib/netbsd-tests/lib/libc/stdio" +.if !exists(${TESTSRC}/) +.error "Please define TESTSRC to the absolute path of the test sources, e.g. $${SRCTOP}/contrib/netbsd-tests/lib/libc/stdio" .endif .PATH: ${TESTSRC} From owner-svn-src-head@freebsd.org Sun Oct 11 20:41:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0242A1190E for ; Sun, 11 Oct 2015 20:41:47 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: from vfemail.net (ninezero.vfemail.net [96.30.253.190]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2ADDA67 for ; Sun, 11 Oct 2015 20:41:47 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: (qmail 11403 invoked by uid 89); 11 Oct 2015 20:41:45 -0000 Received: from localhost (HELO freequeue.vfemail.net) (127.0.0.1) by localhost with (DHE-RSA-AES256-SHA encrypted) SMTP; 11 Oct 2015 20:41:45 -0000 Received: (qmail 11352 invoked by uid 89); 11 Oct 2015 20:41:28 -0000 Received: by simscan 1.3.1 ppid: 11344, pid: 11348, t: 0.0043s scanners:none Received: from unknown (HELO smtp102-2.vfemail.net) (172.16.100.62) by FreeQueue with SMTP; 11 Oct 2015 20:41:28 -0000 Received: (qmail 16801 invoked by uid 89); 11 Oct 2015 20:41:28 -0000 Received: by simscan 1.4.0 ppid: 16773, pid: 16797, t: 1.0702s scanners:none Received: from unknown (HELO nil) (amJlaWNoQHZmZW1haWwubmV0@172.16.100.27) by 172.16.100.62 with ESMTPA; 11 Oct 2015 20:41:27 -0000 From: Jan Beich To: Baptiste Daroussin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r289085 - head/share/mk References: <201510092157.t99Lvgfu022041@repo.freebsd.org> Date: Sun, 11 Oct 2015 22:41:09 +0200 In-Reply-To: <201510092157.t99Lvgfu022041@repo.freebsd.org> (Baptiste Daroussin's message of "Fri, 9 Oct 2015 21:57:42 +0000 (UTC)") Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:41:48 -0000 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Baptiste Daroussin writes: > +++ head/share/mk/bsd.confs.mk Fri Oct 9 21:57:42 2015 (r289085) [...] > +CONFGROUPS?=3D CONFS [...] > +.error bsd.conf.mk cannot be included directly. > +.for group in ${CONFSGROUPS} Typo: plural vs. singular [...] > +${group}OWN?=3D ${SHAREOWN} > +${group}GRP?=3D ${SHAREGRP} > +${group}MODE?=3D ${SHAREMODE} > +${group}DIR?=3D ${ETCDIR}/ Have you considered patching bsd.files.mk instead of copying it just to modify a few defaults? For one, bsd.confs.mk lacks r257095, r267276, r284345, r287185 - anything from a few years ago. Here's a quick attempt to merge changes back. Due to .mk files being out of sync I may have missed some. $ svn patch /path/to/below.diff $ rm -f /usr/share/mk/bsd.files.mk $ make -s install -C share/mk $ make -sj2 all -C libexec/dma/dmagent $ make -j2 install -C libexec/dma/dmagent =2D-- _proginstall --- =2D-- _FILESINS --- =2D-- _proginstall --- install -s -o root -g mail -m 2555 dma /usr/libexec/dma =2D-- _FILESINS --- install -o root -g wheel -m 444 mailer.conf /usr/share/examples/dma =2D-- _CONFSINS --- install -o root -g wheel -m 644 dma.conf /etc/dma =2D-- _maninstall --- install -o root -g wheel -m 444 dma.8.gz /usr/share/man/man8 Index: share/mk/bsd.prog.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- share/mk/bsd.prog.mk (revision 289150) +++ share/mk/bsd.prog.mk (working copy) @@ -249,7 +249,6 @@ _SCRIPTSINS_${script:T}: ${script} NLSNAME?=3D ${PROG} .include =20 =2D.include .include .include .include Index: share/mk/bsd.files.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- share/mk/bsd.files.mk (revision 289150) +++ share/mk/bsd.files.mk (working copy) @@ -7,7 +7,8 @@ .if !target(____) ____: =20 =2DFILESGROUPS?=3D FILES +FILESGROUPS?=3D FILES CONFS +FILESVARPREFIX?=3DFILES.SHARE CONFS.CONF =20 .for group in ${FILESGROUPS} # Add in foo.yes and remove duplicates from all the groups @@ -22,10 +23,10 @@ all: buildfiles .if defined(${group}) && !empty(${group}) installfiles: installfiles-${group} =20 =2D${group}OWN?=3D ${SHAREOWN} =2D${group}GRP?=3D ${SHAREGRP} =2D${group}MODE?=3D ${SHAREMODE} =2D${group}DIR?=3D ${BINDIR} +${group}OWN?=3D ${${FILESVARPREFIX:M${group}.*:E}OWN} +${group}GRP?=3D ${${FILESVARPREFIX:M${group}.*:E}GRP} +${group}MODE?=3D ${${FILESVARPREFIX:M${group}.*:E}MODE} +${group}DIR?=3D ${${FILESVARPREFIX:M${group}.*:E}DIR} .if !make(buildincludes) STAGE_SETS+=3D ${group} .endif @@ -56,7 +57,7 @@ stage_as.${file:T}: ${file} =20 installfiles-${group}: _${group}INS_${file:T} _${group}INS_${file:T}: ${file} =2D ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \ + ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \ ${.ALLSRC} \ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}} @@ -70,11 +71,11 @@ stage_files.${group}: ${_${group}FILES} installfiles-${group}: _${group}INS _${group}INS: ${_${group}FILES} .if defined(${group}NAME) =2D ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ + ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} \ -m ${${group}MODE} ${.ALLSRC} \ ${DESTDIR}${${group}DIR}/${${group}NAME} .else =2D ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ + ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} \ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR} .endif .endif Index: share/mk/bsd.lib.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- share/mk/bsd.lib.mk (revision 289150) +++ share/mk/bsd.lib.mk (working copy) @@ -390,7 +390,6 @@ _libinstall: .include .include .include =2D.include .endif =20 .include --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQF8BAEBCgBmBQJWGsllXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3by8QIAKAFCbGff/58uAEi6PEVHOHq /IhHycYn8v1k/DEaIidxRzOYIHrscKXpjqJGnck3h+c8R6t648XxXBwE4jjJkq1C 2sVZtpW6Nu4Zed6V703SWx51YOIr64MdqzB/DPpeta0kUCVLWQM0rdyoOVOpPgPP uai4HQ43oCebHkAF7kvykucG4RSVsrjX5LDDoEsRjTjL3AMMZsxxVaHjUKDm8hja pe1d2xYi+ZtismCXICR9mI/J5Yel+1zlnd176EWEuY0pLZTgujHBll4n07NoIGHY tAIcW1+BIKiWO3nYR+GszG0BPlTqRvOOdKsfFCMAFb/t/TrMsgL01NKPqv3woVQ= =Qv1I -----END PGP SIGNATURE----- --=-=-=-- From owner-svn-src-head@freebsd.org Sun Oct 11 20:57:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB66AA11CD2; Sun, 11 Oct 2015 20:57:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A367DFF0; Sun, 11 Oct 2015 20:57:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BKv9BH086847; Sun, 11 Oct 2015 20:57:09 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BKv90D086846; Sun, 11 Oct 2015 20:57:09 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112057.t9BKv90D086846@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 20:57:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289152 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:57:11 -0000 Author: cem Date: Sun Oct 11 20:57:09 2015 New Revision: 289152 URL: https://svnweb.freebsd.org/changeset/base/289152 Log: NTB: MFV cc0f868d: fix pointer math issues ->remote_rx_info and ->rx_info are struct ntb_rx_info pointers. If we add sizeof(struct ntb_rx_info) then it goes too far. Authored by: Dan Carpenter Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:02:10 2015 (r289151) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:57:09 2015 (r289152) @@ -548,7 +548,7 @@ ntb_transport_init_queue(struct ntb_netd (qp_num / NTB_NUM_MW * tx_size)); tx_size -= sizeof(struct ntb_rx_info); - qp->tx_mw = qp->rx_info + sizeof(struct ntb_rx_info); + qp->tx_mw = qp->rx_info + 1; qp->tx_max_frame = min(transport_mtu + sizeof(struct ntb_payload_header), tx_size); qp->tx_max_entry = tx_size / qp->tx_max_frame; @@ -1148,7 +1148,7 @@ ntb_transport_setup_qp_mw(struct ntb_net (qp_num / NTB_NUM_MW * rx_size)); rx_size -= sizeof(struct ntb_rx_info); - qp->rx_buff = qp->remote_rx_info + sizeof(struct ntb_rx_info); + qp->rx_buff = qp->remote_rx_info + 1; qp->rx_max_frame = min(transport_mtu + sizeof(struct ntb_payload_header), rx_size); qp->rx_max_entry = rx_size / qp->rx_max_frame; From owner-svn-src-head@freebsd.org Sun Oct 11 20:58:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A699FA11D63; Sun, 11 Oct 2015 20:58:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 659851198; Sun, 11 Oct 2015 20:58:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BKw0tp086917; Sun, 11 Oct 2015 20:58:00 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BKw0N0086915; Sun, 11 Oct 2015 20:58:00 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112058.t9BKw0N0086915@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 20:58:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289153 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:58:01 -0000 Author: cem Date: Sun Oct 11 20:58:00 2015 New Revision: 289153 URL: https://svnweb.freebsd.org/changeset/base/289153 Log: NTB: MFV 113fc505: Handle 64bit BAR sizes 64bit BAR sizes are permissible with an NTB device. To support them various modifications and clean-ups were required, most significantly using 2 32bit scratch pad registers for each BAR. Also, modify the driver to allow more than 2 Memory Windows. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:57:09 2015 (r289152) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:58:00 2015 (r289153) @@ -194,11 +194,22 @@ struct ntb_payload_header { }; enum { + /* + * The order of this enum is part of the if_ntb remote protocol. Do + * not reorder without bumping protocol version (and it's probably best + * to keep the protocol in lock-step with the Linux NTB driver. + */ IF_NTB_VERSION = 0, - IF_NTB_MW0_SZ, - IF_NTB_MW1_SZ, - IF_NTB_NUM_QPS, IF_NTB_QP_LINKS, + IF_NTB_NUM_QPS, + IF_NTB_NUM_MWS, + /* + * N.B.: transport_link_work assumes MW1 enums = MW0 + 2. + */ + IF_NTB_MW0_SZ_HIGH, + IF_NTB_MW0_SZ_LOW, + IF_NTB_MW1_SZ_HIGH, + IF_NTB_MW1_SZ_LOW, IF_NTB_MAX_SPAD, }; @@ -242,6 +253,7 @@ static void ntb_rx_completion_task(void static void ntb_transport_event_callback(void *data, enum ntb_hw_event event); static void ntb_transport_link_work(void *arg); static int ntb_set_mw(struct ntb_netdev *nt, int num_mw, unsigned int size); +static void ntb_free_mw(struct ntb_netdev *nt, int num_mw); static void ntb_transport_setup_qp_mw(struct ntb_netdev *nt, unsigned int qp_num); static void ntb_qp_link_work(void *arg); @@ -514,9 +526,7 @@ ntb_transport_free(void *transport) ntb_unregister_event_callback(ntb); for (i = 0; i < NTB_NUM_MW; i++) - if (nt->mw[i].virt_addr != NULL) - contigfree(nt->mw[i].virt_addr, nt->mw[i].size, - M_NTB_IF); + ntb_free_mw(nt, i); free(nt->qps, M_NTB_IF); ntb_unregister_transport(ntb); @@ -1019,19 +1029,24 @@ ntb_transport_link_work(void *arg) struct ntb_netdev *nt = arg; struct ntb_softc *ntb = nt->ntb; struct ntb_transport_qp *qp; + uint64_t val64; uint32_t val; int rc, i; - /* send the local info */ - rc = ntb_write_remote_spad(ntb, IF_NTB_VERSION, NTB_TRANSPORT_VERSION); - if (rc != 0) - goto out; - - rc = ntb_write_remote_spad(ntb, IF_NTB_MW0_SZ, ntb_get_mw_size(ntb, 0)); - if (rc != 0) - goto out; + /* send the local info, in the opposite order of the way we read it */ + for (i = 0; i < NTB_NUM_MW; i++) { + rc = ntb_write_remote_spad(ntb, IF_NTB_MW0_SZ_HIGH + (i * 2), + ntb_get_mw_size(ntb, i) >> 32); + if (rc != 0) + goto out; + + rc = ntb_write_remote_spad(ntb, IF_NTB_MW0_SZ_LOW + (i * 2), + (uint32_t)ntb_get_mw_size(ntb, i)); + if (rc != 0) + goto out; + } - rc = ntb_write_remote_spad(ntb, IF_NTB_MW1_SZ, ntb_get_mw_size(ntb, 1)); + rc = ntb_write_remote_spad(ntb, IF_NTB_NUM_MWS, NTB_NUM_MW); if (rc != 0) goto out; @@ -1039,11 +1054,7 @@ ntb_transport_link_work(void *arg) if (rc != 0) goto out; - rc = ntb_read_remote_spad(ntb, IF_NTB_QP_LINKS, &val); - if (rc != 0) - goto out; - - rc = ntb_write_remote_spad(ntb, IF_NTB_QP_LINKS, val); + rc = ntb_write_remote_spad(ntb, IF_NTB_VERSION, NTB_TRANSPORT_VERSION); if (rc != 0) goto out; @@ -1062,27 +1073,32 @@ ntb_transport_link_work(void *arg) if (val != nt->max_qps) goto out; - rc = ntb_read_local_spad(ntb, IF_NTB_MW0_SZ, &val); - if (rc != 0) - goto out; - - if (val == 0) - goto out; - - rc = ntb_set_mw(nt, 0, val); - if (rc != 0) - return; - - rc = ntb_read_local_spad(ntb, IF_NTB_MW1_SZ, &val); + rc = ntb_read_local_spad(ntb, IF_NTB_NUM_MWS, &val); if (rc != 0) goto out; - if (val == 0) + if (val != NTB_NUM_MW) goto out; - rc = ntb_set_mw(nt, 1, val); - if (rc != 0) - return; + for (i = 0; i < NTB_NUM_MW; i++) { + rc = ntb_read_local_spad(ntb, IF_NTB_MW0_SZ_HIGH + (i * 2), + &val); + if (rc != 0) + goto free_mws; + + val64 = (uint64_t)val << 32; + + rc = ntb_read_local_spad(ntb, IF_NTB_MW0_SZ_LOW + (i * 2), + &val); + if (rc != 0) + goto free_mws; + + val64 |= val; + + rc = ntb_set_mw(nt, i, val64); + if (rc != 0) + goto free_mws; + } nt->transport_link = NTB_LINK_UP; if (bootverbose) @@ -1099,10 +1115,13 @@ ntb_transport_link_work(void *arg) return; +free_mws: + for (i = 0; i < NTB_NUM_MW; i++) + ntb_free_mw(nt, i); out: if (ntb_query_link_status(ntb)) callout_reset(&nt->link_work, - NTB_LINK_DOWN_TIMEOUT * hz / 1000, ntb_transport_link_work, nt); + NTB_LINK_DOWN_TIMEOUT * hz / 1000, ntb_transport_link_work, nt); } static int @@ -1130,6 +1149,18 @@ ntb_set_mw(struct ntb_netdev *nt, int nu } static void +ntb_free_mw(struct ntb_netdev *nt, int num_mw) +{ + struct ntb_transport_mw *mw = &nt->mw[num_mw]; + + if (mw->virt_addr == NULL) + return; + + contigfree(mw->virt_addr, mw->size, M_NTB_IF); + mw->virt_addr = NULL; +} + +static void ntb_transport_setup_qp_mw(struct ntb_netdev *nt, unsigned int qp_num) { struct ntb_transport_qp *qp = &nt->qps[qp_num]; From owner-svn-src-head@freebsd.org Sun Oct 11 20:59:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 857E0A11DC0; Sun, 11 Oct 2015 20:59:03 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D5EF12F7; Sun, 11 Oct 2015 20:59:03 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BKx2Vp086990; Sun, 11 Oct 2015 20:59:02 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BKx2Z1086989; Sun, 11 Oct 2015 20:59:02 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112059.t9BKx2Z1086989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 20:59:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289154 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:59:03 -0000 Author: cem Date: Sun Oct 11 20:59:02 2015 New Revision: 289154 URL: https://svnweb.freebsd.org/changeset/base/289154 Log: NTB: MFV b77b2637: Link toggle memory leak Each link-up will allocate a new NTB receive buffer when the NTB properties are negotiated with the remote system. These allocations did not check for existing buffers and thus did not free them. Now, the driver will check for an existing buffer and free it if not of the correct size, before trying to alloc a new one. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:58:00 2015 (r289153) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:59:02 2015 (r289154) @@ -1129,12 +1129,20 @@ ntb_set_mw(struct ntb_netdev *nt, int nu { struct ntb_transport_mw *mw = &nt->mw[num_mw]; + /* No need to re-setup */ + if (mw->size == size) + return (0); + + if (mw->size != 0) + ntb_free_mw(nt, num_mw); + /* Alloc memory for receiving data. Must be 4k aligned */ mw->size = size; mw->virt_addr = contigmalloc(mw->size, M_NTB_IF, M_ZERO, 0, BUS_SPACE_MAXADDR, mw->size, 0); if (mw->virt_addr == NULL) { + mw->size = 0; printf("ntb: Unable to allocate MW buffer of size %d\n", (int)mw->size); return (ENOMEM); From owner-svn-src-head@freebsd.org Sun Oct 11 20:59:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80265A11E00; Sun, 11 Oct 2015 20:59:41 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BA4F1499; Sun, 11 Oct 2015 20:59:41 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BKxex4087049; Sun, 11 Oct 2015 20:59:40 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BKxeS9087048; Sun, 11 Oct 2015 20:59:40 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112059.t9BKxeS9087048@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 20:59:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289155 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 20:59:41 -0000 Author: cem Date: Sun Oct 11 20:59:40 2015 New Revision: 289155 URL: https://svnweb.freebsd.org/changeset/base/289155 Log: NTB: MFV 90f9e934: reset tx_index on link toggle If the NTB link toggles, the driver could stop receiving due to the tx_index not being set to 0 on the transmitting size on a link-up event. This is due to the driver expecting the incoming data to start at the beginning of the receive buffer and not at a random place. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:59:02 2015 (r289154) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:59:40 2015 (r289155) @@ -562,7 +562,6 @@ ntb_transport_init_queue(struct ntb_netd qp->tx_max_frame = min(transport_mtu + sizeof(struct ntb_payload_header), tx_size); qp->tx_max_entry = tx_size / qp->tx_max_frame; - qp->tx_index = 0; callout_init(&qp->link_work, 0); callout_init(&qp->queue_full, 1); @@ -1192,7 +1191,6 @@ ntb_transport_setup_qp_mw(struct ntb_net rx_size); qp->rx_max_entry = rx_size / qp->rx_max_frame; qp->rx_index = 0; - qp->tx_index = 0; qp->remote_rx_info->entry = qp->rx_max_entry; @@ -1206,6 +1204,7 @@ ntb_transport_setup_qp_mw(struct ntb_net qp->rx_pkts = 0; qp->tx_pkts = 0; + qp->tx_index = 0; } static void From owner-svn-src-head@freebsd.org Sun Oct 11 21:00:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B6499B101B; Sun, 11 Oct 2015 21:00:20 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3718118DE; Sun, 11 Oct 2015 21:00:20 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BL0J11087760; Sun, 11 Oct 2015 21:00:19 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BL0JPt087759; Sun, 11 Oct 2015 21:00:19 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112100.t9BL0JPt087759@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 21:00:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289156 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:00:20 -0000 Author: cem Date: Sun Oct 11 21:00:19 2015 New Revision: 289156 URL: https://svnweb.freebsd.org/changeset/base/289156 Log: NTB: MFV c9d534c8: Correctly handle receive buffers of the minimal size The ring logic of the NTB receive buffer/transmit memory window requires there to be at least 2 payload sized allotments. For the minimal size case, split the buffer into two and set the transport_mtu to the appropriate size. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 20:59:40 2015 (r289155) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 21:00:19 2015 (r289156) @@ -559,8 +559,9 @@ ntb_transport_init_queue(struct ntb_netd tx_size -= sizeof(struct ntb_rx_info); qp->tx_mw = qp->rx_info + 1; + /* Due to house-keeping, there must be at least 2 buffs */ qp->tx_max_frame = min(transport_mtu + sizeof(struct ntb_payload_header), - tx_size); + tx_size / 2); qp->tx_max_entry = tx_size / qp->tx_max_frame; callout_init(&qp->link_work, 0); @@ -1187,12 +1188,13 @@ ntb_transport_setup_qp_mw(struct ntb_net rx_size -= sizeof(struct ntb_rx_info); qp->rx_buff = qp->remote_rx_info + 1; + /* Due to house-keeping, there must be at least 2 buffs */ qp->rx_max_frame = min(transport_mtu + sizeof(struct ntb_payload_header), - rx_size); + rx_size / 2); qp->rx_max_entry = rx_size / qp->rx_max_frame; qp->rx_index = 0; - qp->remote_rx_info->entry = qp->rx_max_entry; + qp->remote_rx_info->entry = qp->rx_max_entry - 1; /* setup the hdr offsets with 0's */ for (i = 0; i < qp->rx_max_entry; i++) { From owner-svn-src-head@freebsd.org Sun Oct 11 21:01:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1AF999B1284; Sun, 11 Oct 2015 21:01:16 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D9A911F05; Sun, 11 Oct 2015 21:01:15 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BL1Edf087833; Sun, 11 Oct 2015 21:01:14 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BL1EER087832; Sun, 11 Oct 2015 21:01:14 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510112101.t9BL1EER087832@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Sun, 11 Oct 2015 21:01:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289157 - head/sys/dev/ntb/if_ntb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:01:16 -0000 Author: cem Date: Sun Oct 11 21:01:14 2015 New Revision: 289157 URL: https://svnweb.freebsd.org/changeset/base/289157 Log: NTB: MFV c336acd3: memcpy lockup workaround The system will appear to lockup for long periods of time due to the NTB driver spending too much time in memcpy. Avoid this by reducing the number of packets that can be serviced on a given interrupt. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 21:00:19 2015 (r289156) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Sun Oct 11 21:01:14 2015 (r289157) @@ -853,7 +853,8 @@ ntb_rx_pendq_full(void *arg) static void ntb_transport_rx(struct ntb_transport_qp *qp) { - int rc, i; + uint64_t i; + int rc; /* * Limit the number of packets processed in a single interrupt to @@ -861,7 +862,7 @@ ntb_transport_rx(struct ntb_transport_qp */ mtx_lock(&qp->transport->rx_lock); CTR0(KTR_NTB, "RX: transport_rx"); - for (i = 0; i < NTB_RX_MAX_PKTS; i++) { + for (i = 0; i < qp->rx_max_entry; i++) { rc = ntb_process_rxc(qp); if (rc != 0) { CTR0(KTR_NTB, "RX: process_rxc failed"); From owner-svn-src-head@freebsd.org Sun Oct 11 21:29:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A948D9B1890; Sun, 11 Oct 2015 21:29:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58871D77; Sun, 11 Oct 2015 21:29:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BLTO4w096058; Sun, 11 Oct 2015 21:29:24 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BLTONF096056; Sun, 11 Oct 2015 21:29:24 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510112129.t9BLTONF096056@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 11 Oct 2015 21:29:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289158 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:29:25 -0000 Author: ngie Date: Sun Oct 11 21:29:24 2015 New Revision: 289158 URL: https://svnweb.freebsd.org/changeset/base/289158 Log: Default TESTSDIR to /usr/tests/${RELDIR:H} When run from bin/ls/tests, for example, the value of TESTSDIR would be ${TESTSBASE}/${RELDIR:H} -> /usr/tests/bin/ls/tests/.. -> /usr/tests/bin/ls Document the new behavior in bsd.README. While here, also document TESTSBASE Relnotes: yes Differential Revision: D1022 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.README head/share/mk/bsd.test.mk Directory Properties: head/ (props changed) Modified: head/share/mk/bsd.README ============================================================================== --- head/share/mk/bsd.README Sun Oct 11 21:01:14 2015 (r289157) +++ head/share/mk/bsd.README Sun Oct 11 21:29:24 2015 (r289158) @@ -474,10 +474,16 @@ It has seven targets: It sets/uses the following variables, among many others: -TESTDIR Path to the installed tests. Must be a subdirectory of +TESTSBASE Installation prefix for tests. Defaults to /usr/tests + +TESTSDIR Path to the installed tests. Must be a subdirectory of TESTSBASE and the subpath should match the relative location of the tests within the src tree. + The value of TESTSDIR defaults to + ${TESTSBASE}/${RELDIR:H} , e.g. /usr/tests/bin/ls when + included from bin/ls/tests . + KYUAFILE If 'auto' (the default), generate a Kyuafile out of the test programs defined in the Makefile. If 'yes', then a manually-crafted Kyuafile must be supplied with the Modified: head/share/mk/bsd.test.mk ============================================================================== --- head/share/mk/bsd.test.mk Sun Oct 11 21:01:14 2015 (r289157) +++ head/share/mk/bsd.test.mk Sun Oct 11 21:29:24 2015 (r289158) @@ -10,9 +10,8 @@ ____: -.ifndef TESTSDIR -.error "Please define TESTSDIR when including bsd.test.mk" -.endif +# Tests install directory +TESTSDIR?= ${TESTSBASE}/${RELDIR:H} # List of subdirectories containing tests into which to recurse. This has the # same semantics as SUBDIR at build-time. However, the directories listed here From owner-svn-src-head@freebsd.org Sun Oct 11 21:31:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68BFE9B1946; Sun, 11 Oct 2015 21:31:13 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-yk0-f176.google.com (mail-yk0-f176.google.com [209.85.160.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 301931068; Sun, 11 Oct 2015 21:31:12 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by ykba192 with SMTP id a192so116878262ykb.3; Sun, 11 Oct 2015 14:31:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=4pxCxxnqbhD1uODS1O4ngZ2gmhGV+72uzDDF6BR+p/s=; b=mhqWTS7z9nw4aFMJHdSuV7VO4cS9L4G3XW1Qf+CHAcovuG4o1JEoEaN67VTSpEWOVL h/XHMPcSD+aV+tY0zC9A2xTu9trgmulTCezg6wgiP6Cq4/BR+CmNTnP34fobg85Xz3Qz Eb51AzQ/keqEZ6BSSQrWnVq5qj82QCRtpDMu+1Xiv4lh0CIoIbFLiMA8d3t+vVfqagbT gq1/qvcWIvBjd1L+TiY+CFKTiYKAPFI69VmgxDqHlyWDAwUfoi8H3U8Uk4OeiPLkkANC whdPoqOjk8jCoutn7j86JmdjmajxER1BuPUc6oBRJ9dXMHZtbsXSo8lFncxWyouYG+NS iinA== X-Received: by 10.129.81.131 with SMTP id f125mr17605843ywb.271.1444597433244; Sun, 11 Oct 2015 14:03:53 -0700 (PDT) Received: from mail-yk0-f180.google.com (mail-yk0-f180.google.com. [209.85.160.180]) by smtp.gmail.com with ESMTPSA id c79sm9738392ywb.17.2015.10.11.14.03.52 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Oct 2015 14:03:53 -0700 (PDT) Received: by ykec126 with SMTP id c126so83222544yke.2; Sun, 11 Oct 2015 14:03:52 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.129.70.139 with SMTP id t133mr17652548ywa.115.1444597432842; Sun, 11 Oct 2015 14:03:52 -0700 (PDT) Reply-To: cem@FreeBSD.org Received: by 10.37.60.198 with HTTP; Sun, 11 Oct 2015 14:03:52 -0700 (PDT) In-Reply-To: <201510112101.t9BL1EER087832@repo.freebsd.org> References: <201510112101.t9BL1EER087832@repo.freebsd.org> Date: Sun, 11 Oct 2015 14:03:52 -0700 Message-ID: Subject: Re: svn commit: r289157 - head/sys/dev/ntb/if_ntb From: Conrad Meyer To: svn-src-all@freebsd.org Cc: src-committers@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:31:13 -0000 On Sun, Oct 11, 2015 at 2:01 PM, Conrad E. Meyer wrote: > Author: cem > Date: Sun Oct 11 21:01:14 2015 > New Revision: 289157 > URL: https://svnweb.freebsd.org/changeset/base/289157 > > Log: > NTB: MFV c336acd3: memcpy lockup workaround This catches us up to the dual-licensed (BSD/GPL) Linux driver as of May 15, 2013. Best, Conrad From owner-svn-src-head@freebsd.org Sun Oct 11 21:49:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3F5B69B1E72; Sun, 11 Oct 2015 21:49:10 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x22f.google.com (mail-wi0-x22f.google.com [IPv6:2a00:1450:400c:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DCF8D19D8; Sun, 11 Oct 2015 21:49:09 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wiclk2 with SMTP id lk2so130554124wic.1; Sun, 11 Oct 2015 14:49:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=hBZE3K4j3ugHOam1q84Ng75EvA0B60u8K2/5tBLnNOw=; b=mz20VLdQdG3JkywJXiltTNnVqTJs8UeRY5lkGvbvf5sJSQr58zbzXDy2OYXqTsl4O4 Xg5o/oiToq/naeSMXz7WxknEulv0LMqhB1Mbf7ADTnIkO9xR2+nnjXf+ENdzfiRHZOMc KoTYASZ0ZllBkwqw365iyZZ2RLBGL3a0M5mjyRAFLe7o1UzXST8+FKtY//vTwwuZs2DY mALdychIrtg3x3K5RVXDdkbl00IOLgpiT8k1rhmaUgLSpO4b/2Kp6IuNAogzjgIWvNGW 3gqgC3UrtxVVq+HRDgGn3phBKwXkenhdvdodfmCLQX06hrE1PmDXn/iNlFk9y7xIJaqo W35g== X-Received: by 10.180.90.229 with SMTP id bz5mr11617246wib.46.1444600148442; Sun, 11 Oct 2015 14:49:08 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id gl4sm3226299wjd.49.2015.10.11.14.49.07 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Oct 2015 14:49:07 -0700 (PDT) Sender: Baptiste Daroussin Date: Sun, 11 Oct 2015 23:49:06 +0200 From: Baptiste Daroussin To: Jan Beich Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r289085 - head/share/mk Message-ID: <20151011214903.GS91729@ivaldir.etoilebsd.net> References: <201510092157.t99Lvgfu022041@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="96icqjDFsSi85SgI" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:49:10 -0000 --96icqjDFsSi85SgI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Oct 11, 2015 at 10:41:09PM +0200, Jan Beich wrote: > Baptiste Daroussin writes: >=20 > > +++ head/share/mk/bsd.confs.mk Fri Oct 9 21:57:42 2015 (r289085) > [...] > > +CONFGROUPS?=3D CONFS > [...] > > +.error bsd.conf.mk cannot be included directly. > > +.for group in ${CONFSGROUPS} >=20 > Typo: plural vs. singular >=20 > [...] > > +${group}OWN?=3D ${SHAREOWN} > > +${group}GRP?=3D ${SHAREGRP} > > +${group}MODE?=3D ${SHAREMODE} > > +${group}DIR?=3D ${ETCDIR}/ >=20 > Have you considered patching bsd.files.mk instead of copying it just to > modify a few defaults? For one, bsd.confs.mk lacks r257095, r267276, > r284345, r287185 - anything from a few years ago. Yes I planned to merge, bsd.confs.mk was temporary to quickly unlock me on = my work on packaging base. >=20 > Here's a quick attempt to merge changes back. Due to .mk files being > out of sync I may have missed some. >=20 > $ svn patch /path/to/below.diff > $ rm -f /usr/share/mk/bsd.files.mk > $ make -s install -C share/mk > $ make -sj2 all -C libexec/dma/dmagent > $ make -j2 install -C libexec/dma/dmagent That misses the point, the goal here is explicitly not to install the configuration files during make install, but only when one call make installconfig which I have hoocked to make distribution (in Makefile.inc1) = to allow mergemaster/etcupdate to continue being able to merge them after installing them into a temporary destdir. Best regards, Bapt --96icqjDFsSi85SgI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlYa2U8ACgkQ8kTtMUmk6Ey/pgCeNE7kKAC+m4pybN4RGpcjUxCi N/8An2LtL/BnYj9Jetb+wWwuRVDOmuCg =3Zef -----END PGP SIGNATURE----- --96icqjDFsSi85SgI-- From owner-svn-src-head@freebsd.org Sun Oct 11 21:33:02 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 696649B1AA4; Sun, 11 Oct 2015 21:33:02 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 26F68124B; Sun, 11 Oct 2015 21:33:02 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9BLX1cl098814; Sun, 11 Oct 2015 21:33:01 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9BLX067098808; Sun, 11 Oct 2015 21:33:00 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201510112133.t9BLX067098808@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 11 Oct 2015 21:33:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289159 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sun, 11 Oct 2015 22:11:38 +0000 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Oct 2015 21:33:02 -0000 Author: jilles Date: Sun Oct 11 21:33:00 2015 New Revision: 289159 URL: https://svnweb.freebsd.org/changeset/base/289159 Log: sh: Make struct arglist an array instead of a linked list. This simplifies the code (e.g. allowing use of qsort(3) instead of a hand-rolled mergesort) and should have better cache properties. The waste of unused args arrays after resizes is approximately the same as the savings from getting rid of the next pointers. At the same time, remove a piece of global state and move some duplicated code into a function. Modified: head/bin/sh/eval.c head/bin/sh/eval.h head/bin/sh/expand.c head/bin/sh/expand.h head/bin/sh/var.c head/bin/sh/var.h Modified: head/bin/sh/eval.c ============================================================================== --- head/bin/sh/eval.c Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/eval.c Sun Oct 11 21:33:00 2015 (r289159) @@ -82,7 +82,7 @@ static int builtin_flags; /* evalcommand char *commandname; -struct strlist *cmdenviron; +struct arglist *cmdenviron; int exitstatus; /* exit status of last command */ int oexitstatus; /* saved exit status */ @@ -352,20 +352,19 @@ evalfor(union node *n, int flags) { struct arglist arglist; union node *argp; - struct strlist *sp; + int i; int status; - arglist.lastp = &arglist.list; + emptyarglist(&arglist); for (argp = n->nfor.args ; argp ; argp = argp->narg.next) { oexitstatus = exitstatus; expandarg(argp, &arglist, EXP_FULL | EXP_TILDE); } - *arglist.lastp = NULL; loopnest++; status = 0; - for (sp = arglist.list ; sp ; sp = sp->next) { - setvar(n->nfor.var, sp->text, 0); + for (i = 0; i < arglist.count; i++) { + setvar(n->nfor.var, arglist.args[i], 0); evaltree(n->nfor.body, flags); status = exitstatus; if (evalskip) { @@ -396,12 +395,12 @@ evalcase(union node *n) union node *patp; struct arglist arglist; - arglist.lastp = &arglist.list; + emptyarglist(&arglist); oexitstatus = exitstatus; expandarg(n->ncase.expr, &arglist, EXP_TILDE); for (cp = n->ncase.cases ; cp ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { - if (casematch(patp, arglist.list->text)) { + if (casematch(patp, arglist.args[0])) { while (cp->nclist.next && cp->type == NCLISTFALLTHRU && cp->nclist.body == NULL) @@ -508,7 +507,7 @@ exphere(union node *redir, struct arglis else { handler = &jmploc; expandarg(redir->nhere.doc, fn, 0); - redir->nhere.expdoc = fn->list->text; + redir->nhere.expdoc = fn->args[0]; INTOFF; } handler = savehandler; @@ -532,7 +531,7 @@ expredir(union node *n) for (redir = n ; redir ; redir = redir->nfile.next) { struct arglist fn; - fn.lastp = &fn.list; + emptyarglist(&fn); switch (redir->type) { case NFROM: case NTO: @@ -540,13 +539,13 @@ expredir(union node *n) case NAPPEND: case NCLOBBER: expandarg(redir->nfile.fname, &fn, EXP_TILDE); - redir->nfile.expfname = fn.list->text; + redir->nfile.expfname = fn.args[0]; break; case NFROMFD: case NTOFD: if (redir->ndup.vname) { expandarg(redir->ndup.vname, &fn, EXP_TILDE); - fixredir(redir, fn.list->text, 1); + fixredir(redir, fn.args[0], 1); } break; case NXHERE: @@ -753,28 +752,30 @@ isdeclarationcmd(struct narg *arg) static void xtracecommand(struct arglist *varlist, struct arglist *arglist) { - struct strlist *sp; char sep = 0; - const char *p, *ps4; + const char *text, *p, *ps4; + int i; ps4 = expandstr(ps4val()); out2str(ps4 != NULL ? ps4 : ps4val()); - for (sp = varlist->list ; sp ; sp = sp->next) { + for (i = 0; i < varlist->count; i++) { + text = varlist->args[i]; if (sep != 0) out2c(' '); - p = strchr(sp->text, '='); + p = strchr(text, '='); if (p != NULL) { p++; - outbin(sp->text, p - sp->text, out2); + outbin(text, p - text, out2); out2qstr(p); } else - out2qstr(sp->text); + out2qstr(text); sep = ' '; } - for (sp = arglist->list ; sp ; sp = sp->next) { + for (i = 0; i < arglist->count; i++) { + text = arglist->args[i]; if (sep != 0) out2c(' '); - out2qstr(sp->text); + out2qstr(text); sep = ' '; } out2c('\n'); @@ -822,7 +823,6 @@ evalcommand(union node *cmd, int flags, int argc; char **envp; int varflag; - struct strlist *sp; int mode; int pip[2]; struct cmdentry cmdentry; @@ -838,11 +838,12 @@ evalcommand(union node *cmd, int flags, int realstatus; int do_clearcmdentry; const char *path = pathval(); + int i; /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); - arglist.lastp = &arglist.list; - varlist.lastp = &varlist.list; + emptyarglist(&arglist); + emptyarglist(&varlist); varflag = 1; jp = NULL; do_clearcmdentry = 0; @@ -857,25 +858,17 @@ evalcommand(union node *cmd, int flags, varflag = isdeclarationcmd(&argp->narg) ? 2 : 0; expandarg(argp, &arglist, EXP_FULL | EXP_TILDE); } - *arglist.lastp = NULL; - *varlist.lastp = NULL; expredir(cmd->ncmd.redirect); - argc = 0; - for (sp = arglist.list ; sp ; sp = sp->next) - argc++; + argc = arglist.count; /* Add one slot at the beginning for tryexec(). */ argv = stalloc(sizeof (char *) * (argc + 2)); argv++; - for (sp = arglist.list ; sp ; sp = sp->next) { - TRACE(("evalcommand arg: %s\n", sp->text)); - *argv++ = sp->text; - } - *argv = NULL; + memcpy(argv, arglist.args, sizeof(*argv) * argc); + argv[argc] = NULL; lastarg = NULL; if (iflag && funcnest == 0 && argc > 0) - lastarg = argv[-1]; - argv -= argc; + lastarg = argv[argc - 1]; /* Print the command if xflag is set. */ if (xflag) @@ -895,9 +888,9 @@ evalcommand(union node *cmd, int flags, * Modify the command lookup path, if a PATH= assignment * is present */ - for (sp = varlist.list ; sp ; sp = sp->next) - if (strncmp(sp->text, PATH, sizeof(PATH) - 1) == 0) { - path = sp->text + sizeof(PATH) - 1; + for (i = 0; i < varlist.count; i++) + if (strncmp(varlist.args[i], PATH, sizeof(PATH) - 1) == 0) { + path = varlist.args[i] + sizeof(PATH) - 1; /* * On `PATH=... command`, we need to make * sure that the command isn't using the @@ -999,7 +992,7 @@ evalcommand(union node *cmd, int flags, } if (cmdentry.cmdtype == CMDNORMAL && cmd->ncmd.redirect == NULL && - varlist.list == NULL && + varlist.count == 0 && (mode == FORK_FG || mode == FORK_NOJOB) && !disvforkset() && !iflag && !mflag) { vforkexecshell(jp, argv, environment(), path, @@ -1053,8 +1046,8 @@ evalcommand(union node *cmd, int flags, funcnest++; redirect(cmd->ncmd.redirect, REDIR_PUSH); INTON; - for (sp = varlist.list ; sp ; sp = sp->next) - mklocal(sp->text); + for (i = 0; i < varlist.count; i++) + mklocal(varlist.args[i]); exitstatus = oexitstatus; evaltree(getfuncnode(cmdentry.u.func), flags & (EV_TESTED | EV_EXIT)); @@ -1087,7 +1080,7 @@ evalcommand(union node *cmd, int flags, } savecmdname = commandname; savetopfile = getcurrentfile(); - cmdenviron = varlist.list; + cmdenviron = &varlist; e = -1; savehandler = handler; if (setjmp(jmploc.loc)) { @@ -1152,8 +1145,8 @@ cmddone: trputs("normal command: "); trargs(argv); #endif redirect(cmd->ncmd.redirect, 0); - for (sp = varlist.list ; sp ; sp = sp->next) - setvareq(sp->text, VEXPORT|VSTACK); + for (i = 0; i < varlist.count; i++) + setvareq(varlist.args[i], VEXPORT|VSTACK); envp = environment(); shellexec(argv, envp, path, cmdentry.u.index); /*NOTREACHED*/ @@ -1336,6 +1329,8 @@ truecmd(int argc __unused, char **argv _ int execcmd(int argc, char **argv) { + int i; + /* * Because we have historically not supported any options, * only treat "--" specially. @@ -1343,13 +1338,11 @@ execcmd(int argc, char **argv) if (argc > 1 && strcmp(argv[1], "--") == 0) argc--, argv++; if (argc > 1) { - struct strlist *sp; - iflag = 0; /* exit on error */ mflag = 0; optschanged(); - for (sp = cmdenviron; sp ; sp = sp->next) - setvareq(sp->text, VEXPORT|VSTACK); + for (i = 0; i < cmdenviron->count; i++) + setvareq(cmdenviron->args[i], VEXPORT|VSTACK); shellexec(argv + 1, environment(), pathval(), 0); } Modified: head/bin/sh/eval.h ============================================================================== --- head/bin/sh/eval.h Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/eval.h Sun Oct 11 21:33:00 2015 (r289159) @@ -36,7 +36,7 @@ extern char *commandname; /* currently executing command */ extern int exitstatus; /* exit status of last command */ extern int oexitstatus; /* saved exit status */ -extern struct strlist *cmdenviron; /* environment for builtin command */ +extern struct arglist *cmdenviron; /* environment for builtin command */ struct backcmd { /* result of evalbackcmd */ Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/expand.c Sun Oct 11 21:33:00 2015 (r289159) @@ -96,7 +96,6 @@ static char *expdest; /* output of cur static struct nodelist *argbackq; /* list of back quote expressions */ static struct ifsregion ifsfirst; /* first struct in list of ifs regions */ static struct ifsregion *ifslastp; /* last struct in list */ -static struct arglist exparg; /* holds expanded arg list */ static char *argstr(char *, int); static char *exptilde(char *, int); @@ -110,15 +109,43 @@ static void varvalue(const char *, int, static void recordregion(int, int, int); static void removerecordregions(int); static void ifsbreakup(char *, struct arglist *); -static void expandmeta(struct strlist *); -static void expmeta(char *, char *); -static void addfname(char *); -static struct strlist *expsort(struct strlist *); -static struct strlist *msort(struct strlist *, int); +static void expandmeta(struct arglist *, struct arglist *); +static void expmeta(char *, char *, struct arglist *); +static int expsortcmp(const void *, const void *); static int patmatch(const char *, const char *, int); static char *cvtnum(int, char *); +static void appendarglist(struct arglist *, char *); static int collate_range_cmp(wchar_t, wchar_t); +void +emptyarglist(struct arglist *list) +{ + + list->args = list->smallarg; + list->count = 0; + list->capacity = sizeof(list->smallarg) / sizeof(list->smallarg[0]); +} + +static void +appendarglist(struct arglist *list, char *str) +{ + char **newargs; + int newcapacity; + + if (list->count >= list->capacity) { + newcapacity = list->capacity * 2; + if (newcapacity < 16) + newcapacity = 16; + if (newcapacity > INT_MAX / (int)sizeof(newargs[0])) + error("Too many entries in arglist"); + newargs = stalloc(newcapacity * sizeof(newargs[0])); + memcpy(newargs, list->args, list->count * sizeof(newargs[0])); + list->args = newargs; + list->capacity = newcapacity; + } + list->args[list->count++] = str; +} + static int collate_range_cmp(wchar_t c1, wchar_t c2) { @@ -157,7 +184,7 @@ stputs_quotes(const char *data, const ch void expandarg(union node *arg, struct arglist *arglist, int flag) { - struct strlist *sp; + struct arglist exparg; char *p; argbackq = arg->narg.backquote; @@ -171,18 +198,12 @@ expandarg(union node *arg, struct arglis } STPUTC('\0', expdest); p = grabstackstr(expdest); - exparg.lastp = &exparg.list; + emptyarglist(&exparg); if (flag & EXP_FULL) { ifsbreakup(p, &exparg); - *exparg.lastp = NULL; - exparg.lastp = &exparg.list; - expandmeta(exparg.list); - } else { - sp = (struct strlist *)stalloc(sizeof (struct strlist)); - sp->text = p; - *exparg.lastp = sp; - exparg.lastp = &sp->next; - } + expandmeta(&exparg, arglist); + } else + appendarglist(arglist, p); while (ifsfirst.next != NULL) { struct ifsregion *ifsp; INTOFF; @@ -191,11 +212,6 @@ expandarg(union node *arg, struct arglis ifsfirst.next = ifsp; INTON; } - *exparg.lastp = NULL; - if (exparg.list) { - *arglist->lastp = exparg.list; - arglist->lastp = exparg.lastp; - } } @@ -984,7 +1000,6 @@ static void ifsbreakup(char *string, struct arglist *arglist) { struct ifsregion *ifsp; - struct strlist *sp; char *start; char *p; char *q; @@ -996,10 +1011,7 @@ ifsbreakup(char *string, struct arglist if (ifslastp == NULL) { /* Return entire argument, IFS doesn't apply to any of it */ - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + appendarglist(arglist, start); return; } @@ -1038,10 +1050,7 @@ ifsbreakup(char *string, struct arglist /* Save this argument... */ *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + appendarglist(arglist, start); p++; if (ifsspc != NULL) { @@ -1071,12 +1080,8 @@ ifsbreakup(char *string, struct arglist * Some recent clarification of the Posix spec say that it * should only generate one.... */ - if (had_param_ch || *start != 0) { - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; - } + if (had_param_ch || *start != 0) + appendarglist(arglist, start); } @@ -1086,45 +1091,42 @@ static char expdir[PATH_MAX]; /* * Perform pathname generation and remove control characters. * At this point, the only control characters should be CTLESC and CTLQUOTEMARK. - * The results are stored in the list exparg. + * The results are stored in the list dstlist. */ static void -expandmeta(struct strlist *str) +expandmeta(struct arglist *srclist, struct arglist *dstlist) { char *p; - struct strlist **savelastp; - struct strlist *sp; + int firstmatch; + int i; char c; - while (str) { - savelastp = exparg.lastp; + for (i = 0; i < srclist->count; i++) { + firstmatch = dstlist->count; if (!fflag) { - p = str->text; + p = srclist->args[i]; for (; (c = *p) != '\0'; p++) { /* fast check for meta chars */ if (c == '*' || c == '?' || c == '[') { INTOFF; - expmeta(expdir, str->text); + expmeta(expdir, srclist->args[i], + dstlist); INTON; break; } } } - if (exparg.lastp == savelastp) { + if (dstlist->count == firstmatch) { /* * no matches */ - *exparg.lastp = str; - rmescapes(str->text); - exparg.lastp = &str->next; + rmescapes(srclist->args[i]); + appendarglist(dstlist, srclist->args[i]); } else { - *exparg.lastp = NULL; - *savelastp = sp = expsort(*savelastp); - while (sp->next != NULL) - sp = sp->next; - exparg.lastp = &sp->next; + qsort(&dstlist->args[firstmatch], + dstlist->count - firstmatch, + sizeof(dstlist->args[0]), expsortcmp); } - str = str->next; } } @@ -1134,7 +1136,7 @@ expandmeta(struct strlist *str) */ static void -expmeta(char *enddir, char *name) +expmeta(char *enddir, char *name, struct arglist *arglist) { const char *p; const char *q; @@ -1199,7 +1201,7 @@ expmeta(char *enddir, char *name) return; } if (metaflag == 0 || lstat(expdir, &statb) >= 0) - addfname(expdir); + appendarglist(arglist, stsavestr(expdir)); return; } endname = name + (p - name); @@ -1251,7 +1253,7 @@ expmeta(char *enddir, char *name) continue; memcpy(enddir, dp->d_name, namlen + 1); if (atend) - addfname(expdir); + appendarglist(arglist, stsavestr(expdir)); else { if (dp->d_type != DT_UNKNOWN && dp->d_type != DT_DIR && @@ -1261,7 +1263,7 @@ expmeta(char *enddir, char *name) continue; enddir[namlen] = '/'; enddir[namlen + 1] = '\0'; - expmeta(enddir + namlen + 1, endname); + expmeta(enddir + namlen + 1, endname, arglist); } } } @@ -1271,81 +1273,13 @@ expmeta(char *enddir, char *name) } -/* - * Add a file name to the list. - */ - -static void -addfname(char *name) -{ - char *p; - struct strlist *sp; - - p = stsavestr(name); - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = p; - *exparg.lastp = sp; - exparg.lastp = &sp->next; -} - - -/* - * Sort the results of file name expansion. It calculates the number of - * strings to sort and then calls msort (short for merge sort) to do the - * work. - */ - -static struct strlist * -expsort(struct strlist *str) +static int +expsortcmp(const void *p1, const void *p2) { - int len; - struct strlist *sp; + const char *s1 = *(const char * const *)p1; + const char *s2 = *(const char * const *)p2; - len = 0; - for (sp = str ; sp ; sp = sp->next) - len++; - return msort(str, len); -} - - -static struct strlist * -msort(struct strlist *list, int len) -{ - struct strlist *p, *q = NULL; - struct strlist **lpp; - int half; - int n; - - if (len <= 1) - return list; - half = len >> 1; - p = list; - for (n = half ; --n >= 0 ; ) { - q = p; - p = p->next; - } - q->next = NULL; /* terminate first half of list */ - q = msort(list, half); /* sort first half of list */ - p = msort(p, len - half); /* sort second half */ - lpp = &list; - for (;;) { - if (strcmp(p->text, q->text) < 0) { - *lpp = p; - lpp = &p->next; - if ((p = *lpp) == NULL) { - *lpp = q; - break; - } - } else { - *lpp = q; - lpp = &q->next; - if ((q = *lpp) == NULL) { - *lpp = p; - break; - } - } - } - return list; + return (strcmp(s1, s2)); } @@ -1666,11 +1600,11 @@ freebsd_wordexpcmd(int argc __unused, ch { struct arglist arglist; union node *args, *n; - struct strlist *sp; - size_t count, len; + size_t len; int ch; int protected = 0; int fd = -1; + int i; while ((ch = nextopt("f:p")) != '\0') { switch (ch) { @@ -1699,14 +1633,13 @@ freebsd_wordexpcmd(int argc __unused, ch } } outcslow(' ', out1); - arglist.lastp = &arglist.list; + emptyarglist(&arglist); for (n = args; n != NULL; n = n->narg.next) expandarg(n, &arglist, EXP_FULL | EXP_TILDE); - *arglist.lastp = NULL; - for (sp = arglist.list, count = len = 0; sp; sp = sp->next) - count++, len += strlen(sp->text); - out1fmt("%016zx %016zx", count, len); - for (sp = arglist.list; sp; sp = sp->next) - outbin(sp->text, strlen(sp->text) + 1, out1); + for (i = 0, len = 0; i < arglist.count; i++) + len += strlen(arglist.args[i]); + out1fmt("%016x %016zx", arglist.count, len); + for (i = 0; i < arglist.count; i++) + outbin(arglist.args[i], strlen(arglist.args[i]) + 1, out1); return (0); } Modified: head/bin/sh/expand.h ============================================================================== --- head/bin/sh/expand.h Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/expand.h Sun Oct 11 21:33:00 2015 (r289159) @@ -33,15 +33,11 @@ * $FreeBSD$ */ -struct strlist { - struct strlist *next; - char *text; -}; - - struct arglist { - struct strlist *list; - struct strlist **lastp; + char **args; + int count; + int capacity; + char *smallarg[1]; }; /* @@ -55,6 +51,7 @@ struct arglist { #define EXP_LIT_QUOTED 0x40 /* for EXP_SPLIT_LIT, start off quoted */ +void emptyarglist(struct arglist *); union node; void expandarg(union node *, struct arglist *, int); void rmescapes(char *); Modified: head/bin/sh/var.c ============================================================================== --- head/bin/sh/var.c Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/var.c Sun Oct 11 21:33:00 2015 (r289159) @@ -403,14 +403,13 @@ setvareq_const(const char *s, int flags) */ void -listsetvar(struct strlist *list, int flags) +listsetvar(struct arglist *list, int flags) { - struct strlist *lp; + int i; INTOFF; - for (lp = list ; lp ; lp = lp->next) { - setvareq(savestr(lp->text), flags); - } + for (i = 0; i < list->count; i++) + setvareq(savestr(list->args[i]), flags); INTON; } @@ -442,14 +441,14 @@ lookupvar(const char *name) char * bltinlookup(const char *name, int doall) { - struct strlist *sp; struct var *v; char *result; + int i; result = NULL; - for (sp = cmdenviron ; sp ; sp = sp->next) { - if (varequal(sp->text, name)) - result = strchr(sp->text, '=') + 1; + if (cmdenviron) for (i = 0; i < cmdenviron->count; i++) { + if (varequal(cmdenviron->args[i], name)) + result = strchr(cmdenviron->args[i], '=') + 1; } if (result != NULL) return result; @@ -468,13 +467,12 @@ bltinlookup(const char *name, int doall) void bltinsetlocale(void) { - struct strlist *lp; int act = 0; char *loc, *locdef; int i; - for (lp = cmdenviron ; lp ; lp = lp->next) { - if (localevar(lp->text)) { + if (cmdenviron) for (i = 0; i < cmdenviron->count; i++) { + if (localevar(cmdenviron->args[i])) { act = 1; break; } @@ -507,11 +505,11 @@ bltinsetlocale(void) void bltinunsetlocale(void) { - struct strlist *lp; + int i; INTOFF; - for (lp = cmdenviron ; lp ; lp = lp->next) { - if (localevar(lp->text)) { + if (cmdenviron) for (i = 0; i < cmdenviron->count; i++) { + if (localevar(cmdenviron->args[i])) { setlocale(LC_ALL, ""); updatecharset(); return; Modified: head/bin/sh/var.h ============================================================================== --- head/bin/sh/var.h Sun Oct 11 21:29:24 2015 (r289158) +++ head/bin/sh/var.h Sun Oct 11 21:33:00 2015 (r289159) @@ -114,8 +114,8 @@ extern int initial_localeisutf8; void initvar(void); void setvar(const char *, const char *, int); void setvareq(char *, int); -struct strlist; -void listsetvar(struct strlist *, int); +struct arglist; +void listsetvar(struct arglist *, int); char *lookupvar(const char *); char *bltinlookup(const char *, int); void bltinsetlocale(void); From owner-svn-src-head@freebsd.org Mon Oct 12 00:20:04 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8BE5FA1052C; Mon, 12 Oct 2015 00:20:04 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x22c.google.com (mail-ig0-x22c.google.com [IPv6:2607:f8b0:4001:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5184C855; Mon, 12 Oct 2015 00:20:04 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by igkz10 with SMTP id z10so36762036igk.1; Sun, 11 Oct 2015 17:20:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=6V2h8NqBJ6lH+Sz3l6olBb0TbZ68uWZ0HquqoF65khA=; b=cGGx7fjeJN6SDEM4annhWPzzxhJDdhZyqKItSKi8f9/+b54XySEBTbHYGR4K9YmLjz /vhU4y8Je2NQqflYUDHxF3XVwGKk+ERLot48RxCCnG3i4WS1UGkXXNRIEA2rOp6aF+wJ ZK3erRTDg39o4380zHulrdVyqNKl2jcXMA4P7pZXSpWzIYMupecSEl3HEn/F0H5zNA58 kaQKHn04NqqRi9B3H69yAEL5lVlW4RBwP6Tv2O4BTPJR0uCKIJ0qZflZG+Ft+RnKR5yj M/6c3a9MOpctb0/8YITu6p+Yg59yXawf0C9XaZEEZ7vJLRilhm+EXiaUas0r4FwfT/Pj EXoQ== MIME-Version: 1.0 X-Received: by 10.50.61.243 with SMTP id t19mr9031568igr.22.1444609203724; Sun, 11 Oct 2015 17:20:03 -0700 (PDT) Received: by 10.36.2.10 with HTTP; Sun, 11 Oct 2015 17:20:03 -0700 (PDT) In-Reply-To: <201510111958.t9BJwvuI069443@repo.freebsd.org> References: <201510111958.t9BJwvuI069443@repo.freebsd.org> Date: Sun, 11 Oct 2015 17:20:03 -0700 Message-ID: Subject: Re: svn commit: r289150 - head/contrib/gcc/cp From: Adrian Chadd To: "Pedro F. Giffuni" Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 00:20:04 -0000 Heya! How'd you test this? Sean is reporting (on irc) there's some weirdness after this commit. -a On 11 October 2015 at 12:58, Pedro F. Giffuni wrote: > Author: pfg > Date: Sun Oct 11 19:58:57 2015 > New Revision: 289150 > URL: https://svnweb.freebsd.org/changeset/base/289150 > > Log: > Correct handling of enum attributes with g++ > > From OpenBSD's commit log: > > This was responsible for memory corruption with recent versions > of Mesa where c and c++ code share a header with a packed enum type. > > Reference: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219 > > Obtained from: OpenBSD (CVS rev. 1.2) > MFC after: 1 week > > Modified: > head/contrib/gcc/cp/parser.c > > Modified: head/contrib/gcc/cp/parser.c > ============================================================================== > --- head/contrib/gcc/cp/parser.c Sun Oct 11 19:30:09 2015 (r289149) > +++ head/contrib/gcc/cp/parser.c Sun Oct 11 19:58:57 2015 (r289150) > @@ -10906,6 +10906,7 @@ cp_parser_enum_specifier (cp_parser* par > if (cp_parser_allow_gnu_extensions_p (parser)) > { > tree trailing_attr = cp_parser_attributes_opt (parser); > + trailing_attr = chainon (trailing_attr, attributes); > cplus_decl_attributes (&type, > trailing_attr, > (int) ATTR_FLAG_TYPE_IN_PLACE); > From owner-svn-src-head@freebsd.org Mon Oct 12 01:55:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2AB0F9D2959 for ; Mon, 12 Oct 2015 01:55:48 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm6.bullet.mail.bf1.yahoo.com (nm6.bullet.mail.bf1.yahoo.com [98.139.212.165]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C35C01D37 for ; Mon, 12 Oct 2015 01:55:47 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1444614940; bh=sN6053TII39oyuqyLwk9d2CwMGdii2+uErht5nr7Aks=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From:Subject; b=Q/4TcS7lyr2iDj0f3SOUKg6WRJXrhJkUDVCGKZP7ZNDQESJLs642+PVkqnY5I8mICh8W50qYFvx0O4ceDbnYpEHlfrWHMV1vOOdgzly7kGy2LzBl821cjrXtyE4P+uivCXj9T1r6roJX7dRgSnZDElYpnGHePO5p3wW/A2XuTxUu4sPI78htXx2wkyMIpJxff0llxfS86tVNmue/uadZnM70CmIOUkjMjXivZCCEUEDnobzget4SkPHZx6xDrVrmKHxJGZbgi5/aWwK4FCU8YsojJQKFo7leGpQ5R/+BUHzOsA10hieg97a80lgt20mGF3eOH1lF8BYcQVvqDPVlWQ== Received: from [66.196.81.172] by nm6.bullet.mail.bf1.yahoo.com with NNFMP; 12 Oct 2015 01:55:40 -0000 Received: from [98.139.211.196] by tm18.bullet.mail.bf1.yahoo.com with NNFMP; 12 Oct 2015 01:55:40 -0000 Received: from [127.0.0.1] by smtp205.mail.bf1.yahoo.com with NNFMP; 12 Oct 2015 01:55:40 -0000 X-Yahoo-Newman-Id: 253285.65294.bm@smtp205.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: yUklFI4VM1k92yFzUMuv4w3AFj4ntsfed2fliYX3hute.9k _4pzQdrIcy6tiS_asXKQTR.s0z3ZG_dg_oO8ytTskHSLKXc8Ro9BeDppOr3x BqsyZ9mXHb1IkjsC0NXgf6SmTUpExC7MybAxpFvPoTad_2Y1KtV_5S7Inocq 7J66PKyLuq7DhLdae260d_1Qqps.PHhbMd4YdAmFeVPkMX.1jOHhc_npPbdQ hhSuG.D4DrXFUZ7ggN.TZeV_9heqE3UjAGP8ZwZFU4ESSZHzIG3MKD.71OD4 gTKvsQoqXCf3JIAVrwyTCpSaDiDIz5RC5rg9aclfWVo.yGu5XYoq8NvVQo74 uWZ32_aX7Jf0atDc_jJFruv9nVM80ub0IJHf5HljA_sCws1h5jOOsH56QW91 bbLwGax5Mi2ta6zRZTbEhchoHbvgme0IO_KFJzcnLEactFJKw4q3Oxpehv7Q Z5gbKsRQwwJsi8j6sT2uzqZngQ1Nn5UCDmiwChli2wZ3u1BXqHVppqe8FqRW ZqXHQSxhZGMUqQtPnJHaR1VVEmfGBvnBP X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r289150 - head/contrib/gcc/cp To: Adrian Chadd References: <201510111958.t9BJwvuI069443@repo.freebsd.org> Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: Pedro Giffuni Organization: FreeBSD Project Message-ID: <561B1314.4070106@FreeBSD.org> Date: Sun, 11 Oct 2015 20:55:32 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 01:55:48 -0000 On 11/10/2015 07:20 p.m., Adrian Chadd wrote: > Heya! > > How'd you test this? Sean is reporting (on irc) there's some weirdness > after this commit. Hmm... I only rebuilt it and ran minimal tests in my box. It only looked imporant for mesa. I will revert to investigate, thanks for the report. Pedro. > > -a > > > On 11 October 2015 at 12:58, Pedro F. Giffuni wrote: >> Author: pfg >> Date: Sun Oct 11 19:58:57 2015 >> New Revision: 289150 >> URL: https://svnweb.freebsd.org/changeset/base/289150 >> >> Log: >> Correct handling of enum attributes with g++ >> >> From OpenBSD's commit log: >> >> This was responsible for memory corruption with recent versions >> of Mesa where c and c++ code share a header with a packed enum type. >> >> Reference: >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219 >> >> Obtained from: OpenBSD (CVS rev. 1.2) >> MFC after: 1 week >> >> Modified: >> head/contrib/gcc/cp/parser.c >> >> Modified: head/contrib/gcc/cp/parser.c >> ============================================================================== >> --- head/contrib/gcc/cp/parser.c Sun Oct 11 19:30:09 2015 (r289149) >> +++ head/contrib/gcc/cp/parser.c Sun Oct 11 19:58:57 2015 (r289150) >> @@ -10906,6 +10906,7 @@ cp_parser_enum_specifier (cp_parser* par >> if (cp_parser_allow_gnu_extensions_p (parser)) >> { >> tree trailing_attr = cp_parser_attributes_opt (parser); >> + trailing_attr = chainon (trailing_attr, attributes); >> cplus_decl_attributes (&type, >> trailing_attr, >> (int) ATTR_FLAG_TYPE_IN_PLACE); >> From owner-svn-src-head@freebsd.org Mon Oct 12 02:05:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59E7D9D2BBE; Mon, 12 Oct 2015 02:05:26 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2330C1AC; Mon, 12 Oct 2015 02:05:26 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C25PYL077783; Mon, 12 Oct 2015 02:05:25 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C25PuZ077782; Mon, 12 Oct 2015 02:05:25 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201510120205.t9C25PuZ077782@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 12 Oct 2015 02:05:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289160 - head/contrib/gcc/cp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 02:05:26 -0000 Author: pfg Date: Mon Oct 12 02:05:25 2015 New Revision: 289160 URL: https://svnweb.freebsd.org/changeset/base/289160 Log: Revert r289150: Correct handling of enum attributes with g++ It is causing issues on some platforms. Reported by: sbruno (through adrian) Modified: head/contrib/gcc/cp/parser.c Modified: head/contrib/gcc/cp/parser.c ============================================================================== --- head/contrib/gcc/cp/parser.c Sun Oct 11 21:33:00 2015 (r289159) +++ head/contrib/gcc/cp/parser.c Mon Oct 12 02:05:25 2015 (r289160) @@ -10906,7 +10906,6 @@ cp_parser_enum_specifier (cp_parser* par if (cp_parser_allow_gnu_extensions_p (parser)) { tree trailing_attr = cp_parser_attributes_opt (parser); - trailing_attr = chainon (trailing_attr, attributes); cplus_decl_attributes (&type, trailing_attr, (int) ATTR_FLAG_TYPE_IN_PLACE); From owner-svn-src-head@freebsd.org Mon Oct 12 03:27:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED46AA1109C; Mon, 12 Oct 2015 03:27:10 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A960418A; Mon, 12 Oct 2015 03:27:10 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C3R9Gx001761; Mon, 12 Oct 2015 03:27:09 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C3R9rk001752; Mon, 12 Oct 2015 03:27:09 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120327.t9C3R9rk001752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 03:27:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289162 - in head/sys: dev/ath dev/usb/wlan net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 03:27:11 -0000 Author: adrian Date: Mon Oct 12 03:27:08 2015 New Revision: 289162 URL: https://svnweb.freebsd.org/changeset/base/289162 Log: net80211: separate mbuf cleanup from ieee80211_fragment() * Create ieee80211_free_mbuf() which frees a list of mbufs. * Use it in the fragment transmit path and ath / uath transmit paths. * Call it in xmit_pkt() if the transmission fails; otherwise fragments may be leaked. This should be a big no-op. Submitted by: Differential Revision: https://reviews.freebsd.org/D3769 Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_tx.c head/sys/dev/ath/if_ath_tx.h head/sys/dev/usb/wlan/if_uath.c head/sys/net80211/ieee80211_freebsd.c head/sys/net80211/ieee80211_output.c head/sys/net80211/ieee80211_proto.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/dev/ath/if_ath.c Mon Oct 12 03:27:08 2015 (r289162) @@ -3262,7 +3262,7 @@ ath_transmit(struct ieee80211com *ic, st * XXXGL: is mbuf valid after ath_txfrag_setup? If yes, * we shouldn't free it but return back. */ - ath_freetx(m); + ieee80211_free_mbuf(m); m = NULL; goto bad; } @@ -3356,7 +3356,7 @@ reclaim: __func__, ieee80211_state_name[ni->ni_vap->iv_state]); /* XXX dmamap */ - ath_freetx(next); + ieee80211_free_mbuf(next); goto reclaim; } m = next; Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/dev/ath/if_ath_tx.c Mon Oct 12 03:27:08 2015 (r289162) @@ -283,22 +283,6 @@ ath_txfrag_setup(struct ath_softc *sc, a return !TAILQ_EMPTY(frags); } -/* - * Reclaim mbuf resources. For fragmented frames we - * need to claim each frag chained with m_nextpkt. - */ -void -ath_freetx(struct mbuf *m) -{ - struct mbuf *next; - - do { - next = m->m_nextpkt; - m->m_nextpkt = NULL; - m_freem(m); - } while ((m = next) != NULL); -} - static int ath_tx_dmasetup(struct ath_softc *sc, struct ath_buf *bf, struct mbuf *m0) { @@ -317,7 +301,7 @@ ath_tx_dmasetup(struct ath_softc *sc, st bf->bf_nseg = ATH_MAX_SCATTER + 1; } else if (error != 0) { sc->sc_stats.ast_tx_busdma++; - ath_freetx(m0); + ieee80211_free_mbuf(m0); return error; } /* @@ -329,7 +313,7 @@ ath_tx_dmasetup(struct ath_softc *sc, st sc->sc_stats.ast_tx_linear++; m = m_collapse(m0, M_NOWAIT, ATH_MAX_SCATTER); if (m == NULL) { - ath_freetx(m0); + ieee80211_free_mbuf(m0); sc->sc_stats.ast_tx_nombuf++; return ENOMEM; } @@ -339,14 +323,14 @@ ath_tx_dmasetup(struct ath_softc *sc, st BUS_DMA_NOWAIT); if (error != 0) { sc->sc_stats.ast_tx_busdma++; - ath_freetx(m0); + ieee80211_free_mbuf(m0); return error; } KASSERT(bf->bf_nseg <= ATH_MAX_SCATTER, ("too many segments after defrag; nseg %u", bf->bf_nseg)); } else if (bf->bf_nseg == 0) { /* null packet, discard */ sc->sc_stats.ast_tx_nodata++; - ath_freetx(m0); + ieee80211_free_mbuf(m0); return EIO; } DPRINTF(sc, ATH_DEBUG_XMIT, "%s: m %p len %u\n", @@ -1581,7 +1565,7 @@ ath_tx_normal_setup(struct ath_softc *sc /* Handle encryption twiddling if needed */ if (! ath_tx_tag_crypto(sc, ni, m0, iswep, isfrag, &hdrlen, &pktlen, &keyix)) { - ath_freetx(m0); + ieee80211_free_mbuf(m0); return EIO; } @@ -1693,7 +1677,7 @@ ath_tx_normal_setup(struct ath_softc *sc wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK, __func__); /* XXX statistic */ /* XXX free tx dmamap */ - ath_freetx(m0); + ieee80211_free_mbuf(m0); return EIO; } @@ -1749,7 +1733,7 @@ ath_tx_normal_setup(struct ath_softc *sc "%s: discard frame, ACK required w/ TDMA\n", __func__); sc->sc_stats.ast_tdma_ack++; /* XXX free tx dmamap */ - ath_freetx(m0); + ieee80211_free_mbuf(m0); return EIO; } #endif @@ -2133,7 +2117,7 @@ ath_tx_raw_start(struct ath_softc *sc, s if (! ath_tx_tag_crypto(sc, ni, m0, params->ibp_flags & IEEE80211_BPF_CRYPTO, 0, &hdrlen, &pktlen, &keyix)) { - ath_freetx(m0); + ieee80211_free_mbuf(m0); return EIO; } /* packet header may have moved, reset our local pointer */ Modified: head/sys/dev/ath/if_ath_tx.h ============================================================================== --- head/sys/dev/ath/if_ath_tx.h Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/dev/ath/if_ath_tx.h Mon Oct 12 03:27:08 2015 (r289162) @@ -85,7 +85,6 @@ */ #define ATH_AGGR_MAXSIZE 65530 -extern void ath_freetx(struct mbuf *m); extern void ath_tx_node_flush(struct ath_softc *sc, struct ath_node *an); extern void ath_tx_txq_drain(struct ath_softc *sc, struct ath_txq *txq); extern void ath_txfrag_cleanup(struct ath_softc *sc, ath_bufhead *frags, Modified: head/sys/dev/usb/wlan/if_uath.c ============================================================================== --- head/sys/dev/usb/wlan/if_uath.c Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/dev/usb/wlan/if_uath.c Mon Oct 12 03:27:08 2015 (r289162) @@ -1663,22 +1663,6 @@ uath_txfrag_setup(struct uath_softc *sc, return !STAILQ_EMPTY(frags); } -/* - * Reclaim mbuf resources. For fragmented frames we need to claim each frag - * chained with m_nextpkt. - */ -static void -uath_freetx(struct mbuf *m) -{ - struct mbuf *next; - - do { - next = m->m_nextpkt; - m->m_nextpkt = NULL; - m_freem(m); - } while ((m = next) != NULL); -} - static int uath_transmit(struct ieee80211com *ic, struct mbuf *m) { @@ -1735,7 +1719,7 @@ uath_start(struct uath_softc *sc) !uath_txfrag_setup(sc, &frags, m, ni)) { DPRINTF(sc, UATH_DEBUG_XMIT, "%s: out of txfrag buffers\n", __func__); - uath_freetx(m); + ieee80211_free_mbuf(m); goto bad; } sc->sc_seqnum = 0; @@ -1770,7 +1754,7 @@ uath_start(struct uath_softc *sc) "%s: flush fragmented packet, state %s\n", __func__, ieee80211_state_name[ni->ni_vap->iv_state]); - uath_freetx(next); + ieee80211_free_mbuf(next); goto reclaim; } m = next; Modified: head/sys/net80211/ieee80211_freebsd.c ============================================================================== --- head/sys/net80211/ieee80211_freebsd.c Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/net80211/ieee80211_freebsd.c Mon Oct 12 03:27:08 2015 (r289162) @@ -545,7 +545,7 @@ ieee80211_parent_xmitpkt(struct ieee8021 IEEE80211_TX_LOCK_ASSERT(ic); error = ic->ic_transmit(ic, m); if (error) - m_freem(m); + ieee80211_free_mbuf(m); return (error); } Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/net80211/ieee80211_output.c Mon Oct 12 03:27:08 2015 (r289162) @@ -1583,6 +1583,21 @@ bad: #undef MC01 } +void +ieee80211_free_mbuf(struct mbuf *m) +{ + struct mbuf *next; + + if (m == NULL) + return; + + do { + next = m->m_nextpkt; + m->m_nextpkt = NULL; + m_freem(m); + } while ((m = next) != NULL); +} + /* * Fragment the frame according to the specified mtu. * The size of the 802.11 header (w/o padding) is provided @@ -1597,7 +1612,7 @@ ieee80211_fragment(struct ieee80211vap * { struct ieee80211com *ic = vap->iv_ic; struct ieee80211_frame *wh, *whf; - struct mbuf *m, *prev, *next; + struct mbuf *m, *prev; u_int totalhdrsize, fragno, fragsize, off, remainder, payload; u_int hdrspace; @@ -1692,11 +1707,7 @@ ieee80211_fragment(struct ieee80211vap * return 1; bad: /* reclaim fragments but leave original frame for caller to free */ - for (m = m0->m_nextpkt; m != NULL; m = next) { - next = m->m_nextpkt; - m->m_nextpkt = NULL; /* XXX paranoid */ - m_freem(m); - } + ieee80211_free_mbuf(m0->m_nextpkt); m0->m_nextpkt = NULL; return 0; } Modified: head/sys/net80211/ieee80211_proto.h ============================================================================== --- head/sys/net80211/ieee80211_proto.h Mon Oct 12 03:21:44 2015 (r289161) +++ head/sys/net80211/ieee80211_proto.h Mon Oct 12 03:27:08 2015 (r289162) @@ -93,6 +93,7 @@ struct mbuf *ieee80211_mbuf_adjust(struc struct ieee80211_key *, struct mbuf *); struct mbuf *ieee80211_encap(struct ieee80211vap *, struct ieee80211_node *, struct mbuf *); +void ieee80211_free_mbuf(struct mbuf *); int ieee80211_send_mgmt(struct ieee80211_node *, int, int); struct ieee80211_appie; int ieee80211_send_probereq(struct ieee80211_node *ni, From owner-svn-src-head@freebsd.org Mon Oct 12 04:05:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29383A11958; Mon, 12 Oct 2015 04:05:14 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00DE11347; Mon, 12 Oct 2015 04:05:13 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C45DEv013246; Mon, 12 Oct 2015 04:05:13 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C45Cev013242; Mon, 12 Oct 2015 04:05:12 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120405.t9C45Cev013242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 04:05:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289163 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 04:05:14 -0000 Author: adrian Date: Mon Oct 12 04:05:12 2015 New Revision: 289163 URL: https://svnweb.freebsd.org/changeset/base/289163 Log: wpi(4): add support for TX fragmentation. Tested: * Tested with Intel 3945BG, HOSTAP and STA modes Differential Revision: https://reviews.freebsd.org/D3770 Modified: head/sys/dev/wpi/if_wpi.c head/sys/dev/wpi/if_wpireg.h head/sys/dev/wpi/if_wpivar.h Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Mon Oct 12 03:27:08 2015 (r289162) +++ head/sys/dev/wpi/if_wpi.c Mon Oct 12 04:05:12 2015 (r289163) @@ -196,6 +196,7 @@ static void wpi_debug_registers(struct w #endif static void wpi_fatal_intr(struct wpi_softc *); static void wpi_intr(void *); +static void wpi_free_txfrags(struct wpi_softc *, uint16_t); static int wpi_cmd2(struct wpi_softc *, struct wpi_buf *); static int wpi_tx_data(struct wpi_softc *, struct mbuf *, struct ieee80211_node *); @@ -458,6 +459,7 @@ wpi_attach(device_t dev) | IEEE80211_C_MONITOR /* monitor mode supported */ | IEEE80211_C_AHDEMO /* adhoc demo mode */ | IEEE80211_C_BGSCAN /* capable of bg scanning */ + | IEEE80211_C_TXFRAG /* handle tx frags */ | IEEE80211_C_TXPMGT /* tx power management */ | IEEE80211_C_SHSLOT /* short slot time supported */ | IEEE80211_C_WPA /* 802.11i */ @@ -1168,6 +1170,7 @@ wpi_alloc_tx_ring(struct wpi_softc *sc, ring->qid = qid; ring->queued = 0; ring->cur = 0; + ring->pending = 0; ring->update = 0; DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -1288,6 +1291,7 @@ wpi_reset_tx_ring(struct wpi_softc *sc, BUS_DMASYNC_PREWRITE); ring->queued = 0; ring->cur = 0; + ring->pending = 0; ring->update = 0; } @@ -2572,6 +2576,34 @@ done: end: WPI_UNLOCK(sc); } +static void +wpi_free_txfrags(struct wpi_softc *sc, uint16_t ac) +{ + struct wpi_tx_ring *ring; + struct wpi_tx_data *data; + uint8_t cur; + + WPI_TXQ_LOCK(sc); + ring = &sc->txq[ac]; + + while (ring->pending != 0) { + ring->pending--; + cur = (ring->cur + ring->pending) % WPI_TX_RING_COUNT; + data = &ring->data[cur]; + + bus_dmamap_sync(ring->data_dmat, data->map, + BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(ring->data_dmat, data->map); + m_freem(data->m); + data->m = NULL; + + ieee80211_node_decref(data->ni); + data->ni = NULL; + } + + WPI_TXQ_UNLOCK(sc); +} + static int wpi_cmd2(struct wpi_softc *sc, struct wpi_buf *buf) { @@ -2582,9 +2614,9 @@ wpi_cmd2(struct wpi_softc *sc, struct wp struct wpi_tx_ring *ring; struct mbuf *m1; bus_dma_segment_t *seg, segs[WPI_MAX_SCATTER]; - uint8_t pad; + uint8_t cur, pad; uint16_t hdrlen; - int error, i, nsegs, totlen; + int error, i, nsegs, totlen, frag; WPI_TXQ_LOCK(sc); @@ -2601,6 +2633,7 @@ wpi_cmd2(struct wpi_softc *sc, struct wp wh = mtod(buf->m, struct ieee80211_frame *); hdrlen = ieee80211_anyhdrsize(wh); totlen = buf->m->m_pkthdr.len; + frag = ((buf->m->m_flags & (M_FRAG | M_LASTFRAG)) == M_FRAG); if (__predict_false(totlen < sizeof(struct ieee80211_frame_min))) { error = EINVAL; @@ -2614,15 +2647,16 @@ wpi_cmd2(struct wpi_softc *sc, struct wp pad = 0; ring = &sc->txq[buf->ac]; - desc = &ring->desc[ring->cur]; - data = &ring->data[ring->cur]; + cur = (ring->cur + ring->pending) % WPI_TX_RING_COUNT; + desc = &ring->desc[cur]; + data = &ring->data[cur]; /* Prepare TX firmware command. */ - cmd = &ring->cmd[ring->cur]; + cmd = &ring->cmd[cur]; cmd->code = buf->code; cmd->flags = 0; cmd->qid = ring->qid; - cmd->idx = ring->cur; + cmd->idx = cur; memcpy(cmd->data, buf->data, buf->size); @@ -2662,7 +2696,8 @@ wpi_cmd2(struct wpi_softc *sc, struct wp if (ring->qid < WPI_CMD_QUEUE_NUM) { if_inc_counter(buf->ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); - ieee80211_free_node(buf->ni); + if (!frag) + ieee80211_free_node(buf->ni); } m_freem(buf->m); error = 0; @@ -2678,7 +2713,7 @@ wpi_cmd2(struct wpi_softc *sc, struct wp data->ni = buf->ni; DPRINTF(sc, WPI_DEBUG_XMIT, "%s: qid %d idx %d len %d nsegs %d\n", - __func__, ring->qid, ring->cur, totlen, nsegs); + __func__, ring->qid, cur, totlen, nsegs); /* Fill TX descriptor. */ desc->nsegs = WPI_PAD32(totlen + pad) << 4 | (1 + nsegs); @@ -2699,16 +2734,23 @@ wpi_cmd2(struct wpi_softc *sc, struct wp bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map, BUS_DMASYNC_PREWRITE); - /* Kick TX ring. */ - ring->cur = (ring->cur + 1) % WPI_TX_RING_COUNT; - sc->sc_update_tx_ring(sc, ring); + ring->pending += 1; - if (ring->qid < WPI_CMD_QUEUE_NUM) { - WPI_TXQ_STATE_LOCK(sc); - ring->queued++; - callout_reset(&sc->tx_timeout, 5*hz, wpi_tx_timeout, sc); - WPI_TXQ_STATE_UNLOCK(sc); - } + if (!frag) { + if (ring->qid < WPI_CMD_QUEUE_NUM) { + WPI_TXQ_STATE_LOCK(sc); + ring->queued += ring->pending; + callout_reset(&sc->tx_timeout, 5*hz, wpi_tx_timeout, + sc); + WPI_TXQ_STATE_UNLOCK(sc); + } + + /* Kick TX ring. */ + ring->cur = (ring->cur + ring->pending) % WPI_TX_RING_COUNT; + ring->pending = 0; + sc->sc_update_tx_ring(sc, ring); + } else + ieee80211_node_incref(data->ni); end: DPRINTF(sc, WPI_DEBUG_TRACE, error ? TRACE_STR_END_ERR : TRACE_STR_END, __func__); @@ -2793,6 +2835,8 @@ wpi_tx_data(struct wpi_softc *sc, struct tap->wt_rate = rate; if (k != NULL) tap->wt_flags |= IEEE80211_RADIOTAP_F_WEP; + if (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) + tap->wt_flags |= IEEE80211_RADIOTAP_F_FRAG; ieee80211_radiotap_tx(vap, m); } @@ -2808,7 +2852,7 @@ wpi_tx_data(struct wpi_softc *sc, struct if (!IEEE80211_QOS_HAS_SEQ(wh)) flags |= WPI_TX_AUTO_SEQ; if (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) - flags |= WPI_TX_MORE_FRAG; /* Cannot happen yet. */ + flags |= WPI_TX_MORE_FRAG; /* Check if frame must be protected using RTS/CTS or CTS-to-self. */ if (!ismcast) { @@ -2866,6 +2910,15 @@ wpi_tx_data(struct wpi_softc *sc, struct memcpy(tx->key, k->wk_key, k->wk_keylen); } + if (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) { + struct mbuf *next = m->m_nextpkt; + + tx->lnext = htole16(next->m_pkthdr.len); + tx->fnext = htole32(tx->security | + (flags & WPI_TX_NEED_ACK) | + WPI_NEXT_STA_ID(tx->id)); + } + tx->len = htole16(totlen); tx->flags = htole32(flags); tx->plcp = rate2plcp(rate); @@ -2989,13 +3042,13 @@ wpi_tx_data_raw(struct wpi_softc *sc, st } static __inline int -wpi_tx_ring_is_full(struct wpi_softc *sc, uint16_t ac) +wpi_tx_ring_free_space(struct wpi_softc *sc, uint16_t ac) { struct wpi_tx_ring *ring = &sc->txq[ac]; int retval; WPI_TXQ_STATE_LOCK(sc); - retval = (ring->queued > WPI_TX_RING_HIMARK); + retval = WPI_TX_RING_HIMARK - ring->queued; WPI_TXQ_STATE_UNLOCK(sc); return retval; @@ -3016,7 +3069,8 @@ wpi_raw_xmit(struct ieee80211_node *ni, WPI_TX_LOCK(sc); - if (sc->sc_running == 0 || wpi_tx_ring_is_full(sc, ac)) { + /* NB: no fragments here */ + if (sc->sc_running == 0 || wpi_tx_ring_free_space(sc, ac) < 1) { error = sc->sc_running ? ENOBUFS : ENETDOWN; goto unlock; } @@ -3055,8 +3109,9 @@ wpi_transmit(struct ieee80211com *ic, st { struct wpi_softc *sc = ic->ic_softc; struct ieee80211_node *ni; + struct mbuf *mnext; uint16_t ac; - int error; + int error, nmbufs; WPI_TX_LOCK(sc); DPRINTF(sc, WPI_DEBUG_XMIT, "%s: called\n", __func__); @@ -3067,20 +3122,30 @@ wpi_transmit(struct ieee80211com *ic, st goto unlock; } + nmbufs = 1; + for (mnext = m->m_nextpkt; mnext != NULL; mnext = mnext->m_nextpkt) + nmbufs++; + /* Check for available space. */ ac = M_WME_GETAC(m); - if (wpi_tx_ring_is_full(sc, ac)) { + if (wpi_tx_ring_free_space(sc, ac) < nmbufs) { error = ENOBUFS; goto unlock; } error = 0; ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; - if (wpi_tx_data(sc, m, ni) != 0) { - if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); - ieee80211_free_node(ni); - m_freem(m); - } + do { + mnext = m->m_nextpkt; + if (wpi_tx_data(sc, m, ni) != 0) { + if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, + nmbufs); + wpi_free_txfrags(sc, ac); + ieee80211_free_mbuf(m); + ieee80211_free_node(ni); + break; + } + } while((m = mnext) != NULL); DPRINTF(sc, WPI_DEBUG_XMIT, "%s: done\n", __func__); Modified: head/sys/dev/wpi/if_wpireg.h ============================================================================== --- head/sys/dev/wpi/if_wpireg.h Mon Oct 12 03:27:08 2015 (r289162) +++ head/sys/dev/wpi/if_wpireg.h Mon Oct 12 04:05:12 2015 (r289163) @@ -520,6 +520,8 @@ struct wpi_cmd_data { uint8_t key[IEEE80211_KEYBUF_SIZE]; uint8_t tkip[IEEE80211_WEP_MICLEN]; uint32_t fnext; +#define WPI_NEXT_STA_ID(id) ((id) << 8) + uint32_t lifetime; #define WPI_LIFETIME_INFINITE 0xffffffff Modified: head/sys/dev/wpi/if_wpivar.h ============================================================================== --- head/sys/dev/wpi/if_wpivar.h Mon Oct 12 03:27:08 2015 (r289162) +++ head/sys/dev/wpi/if_wpivar.h Mon Oct 12 04:05:12 2015 (r289163) @@ -74,6 +74,7 @@ struct wpi_tx_ring { bus_dma_tag_t data_dmat; uint8_t qid; uint8_t cur; + uint8_t pending; int16_t queued; int update:1; }; From owner-svn-src-head@freebsd.org Mon Oct 12 04:30:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04112A11F10; Mon, 12 Oct 2015 04:30:41 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C6C6D1D14; Mon, 12 Oct 2015 04:30:40 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C4UdlR021353; Mon, 12 Oct 2015 04:30:39 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C4Udjr021345; Mon, 12 Oct 2015 04:30:39 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120430.t9C4Udjr021345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 04:30:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289164 - in head/sys: dev/iwn net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 04:30:41 -0000 Author: adrian Date: Mon Oct 12 04:30:38 2015 New Revision: 289164 URL: https://svnweb.freebsd.org/changeset/base/289164 Log: net80211: free node reference in the ieee80211_parent_xmitpkt() when error happened. Move error handling into ieee80211_parent_xmitpkt() instead of spreading it between functions. Submitted by: Differential Revision: https://reviews.freebsd.org/D3772 Modified: head/sys/dev/iwn/if_iwn.c head/sys/net80211/ieee80211_freebsd.c head/sys/net80211/ieee80211_hostap.c head/sys/net80211/ieee80211_mesh.c head/sys/net80211/ieee80211_output.c head/sys/net80211/ieee80211_power.c head/sys/net80211/ieee80211_superg.c head/sys/net80211/ieee80211_wds.c Modified: head/sys/dev/iwn/if_iwn.c ============================================================================== --- head/sys/dev/iwn/if_iwn.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/dev/iwn/if_iwn.c Mon Oct 12 04:30:38 2015 (r289164) @@ -4950,9 +4950,7 @@ iwn_transmit(struct ieee80211com *ic, st } error = iwn_tx_data(sc, m, ni); - if (error) { - if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); - } else + if (!error) sc->sc_tx_timer = 5; IWN_UNLOCK(sc); return (error); Modified: head/sys/net80211/ieee80211_freebsd.c ============================================================================== --- head/sys/net80211/ieee80211_freebsd.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_freebsd.c Mon Oct 12 04:30:38 2015 (r289164) @@ -529,9 +529,6 @@ ieee80211_get_rx_params(struct mbuf *m, /* * Transmit a frame to the parent interface. - * - * TODO: if the transmission fails, make sure the parent node is freed - * (the callers will first need modifying.) */ int ieee80211_parent_xmitpkt(struct ieee80211com *ic, struct mbuf *m) @@ -544,8 +541,16 @@ ieee80211_parent_xmitpkt(struct ieee8021 */ IEEE80211_TX_LOCK_ASSERT(ic); error = ic->ic_transmit(ic, m); - if (error) + if (error) { + struct ieee80211_node *ni; + + ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; + + /* XXX number of fragments */ + if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); + ieee80211_free_node(ni); ieee80211_free_mbuf(m); + } return (error); } Modified: head/sys/net80211/ieee80211_hostap.c ============================================================================== --- head/sys/net80211/ieee80211_hostap.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_hostap.c Mon Oct 12 04:30:38 2015 (r289164) @@ -2327,12 +2327,11 @@ ieee80211_recv_pspoll(struct ieee80211_n /* * Do the right thing; if it's an encap'ed frame then - * call ieee80211_parent_xmitpkt() (and free the ref) else + * call ieee80211_parent_xmitpkt() else * call ieee80211_vap_xmitpkt(). */ if (m->m_flags & M_ENCAP) { - if (ieee80211_parent_xmitpkt(ic, m) != 0) - ieee80211_free_node(ni); + (void) ieee80211_parent_xmitpkt(ic, m); } else { (void) ieee80211_vap_xmitpkt(vap, m); } Modified: head/sys/net80211/ieee80211_mesh.c ============================================================================== --- head/sys/net80211/ieee80211_mesh.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_mesh.c Mon Oct 12 04:30:38 2015 (r289164) @@ -1239,12 +1239,8 @@ mesh_forward(struct ieee80211vap *vap, s IEEE80211_TX_LOCK(ic); err = ieee80211_parent_xmitpkt(ic, mcopy); IEEE80211_TX_UNLOCK(ic); - if (err != 0) { - /* NB: IFQ_HANDOFF reclaims mbuf */ - ieee80211_free_node(ni); - } else { + if (!err) if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - } } static struct mbuf * Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_output.c Mon Oct 12 04:30:38 2015 (r289164) @@ -132,7 +132,7 @@ ieee80211_vap_pkt_send_dest(struct ieee8 { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; - int error, len, mcast; + int len, mcast; if ((ni->ni_flags & IEEE80211_NODE_PWR_MGT) && (m->m_flags & M_PWR_SAV) == 0) { @@ -264,18 +264,13 @@ ieee80211_vap_pkt_send_dest(struct ieee8 return (ENOBUFS); } } - error = ieee80211_parent_xmitpkt(ic, m); + (void) ieee80211_parent_xmitpkt(ic, m); /* * Unlock at this point - no need to hold it across * ieee80211_free_node() (ie, the comlock) */ IEEE80211_TX_UNLOCK(ic); - if (error != 0) { - /* NB: IFQ_HANDOFF reclaims mbuf */ - ieee80211_free_node(ni); - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - } ic->ic_lastdata = ticks; return (0); Modified: head/sys/net80211/ieee80211_power.c ============================================================================== --- head/sys/net80211/ieee80211_power.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_power.c Mon Oct 12 04:30:38 2015 (r289164) @@ -457,12 +457,7 @@ pwrsave_flushq(struct ieee80211_node *ni KASSERT((m->m_flags & M_ENCAP), ("%s: parentq with non-M_ENCAP frame!\n", __func__)); - /* - * For encaped frames, we need to free the node - * reference upon failure. - */ - if (ieee80211_parent_xmitpkt(ic, m) != 0) - ieee80211_free_node(ni); + (void) ieee80211_parent_xmitpkt(ic, m); } /* VAP frames, aren't encapsulated */ Modified: head/sys/net80211/ieee80211_superg.c ============================================================================== --- head/sys/net80211/ieee80211_superg.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_superg.c Mon Oct 12 04:30:38 2015 (r289164) @@ -475,13 +475,9 @@ ff_transmit(struct ieee80211_node *ni, s if (m != NULL) { struct ifnet *ifp = vap->iv_ifp; - error = ieee80211_parent_xmitpkt(ic, m);; - if (error != 0) { - /* NB: IFQ_HANDOFF reclaims mbuf */ - ieee80211_free_node(ni); - } else { + error = ieee80211_parent_xmitpkt(ic, m); + if (!error) if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - } } else ieee80211_free_node(ni); } Modified: head/sys/net80211/ieee80211_wds.c ============================================================================== --- head/sys/net80211/ieee80211_wds.c Mon Oct 12 04:05:12 2015 (r289163) +++ head/sys/net80211/ieee80211_wds.c Mon Oct 12 04:30:38 2015 (r289164) @@ -298,11 +298,7 @@ ieee80211_dwds_mcast(struct ieee80211vap mcopy->m_pkthdr.rcvif = (void *) ni; err = ieee80211_parent_xmitpkt(ic, mcopy); - if (err) { - /* NB: IFQ_HANDOFF reclaims mbuf */ - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ieee80211_free_node(ni); - } else { + if (!err) { if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); if_inc_counter(ifp, IFCOUNTER_OBYTES, From owner-svn-src-head@freebsd.org Mon Oct 12 04:55:24 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3C6E4A115A7; Mon, 12 Oct 2015 04:55:24 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 023D5B08; Mon, 12 Oct 2015 04:55:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C4tNvM028312; Mon, 12 Oct 2015 04:55:23 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C4tKsQ028287; Mon, 12 Oct 2015 04:55:20 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120455.t9C4tKsQ028287@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 04:55:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289165 - in head/sys: dev/ath dev/bwi dev/bwn dev/iwm dev/iwn dev/malo dev/mwl dev/otus dev/ral dev/usb/wlan dev/wi dev/wpi net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 04:55:24 -0000 Author: adrian Date: Mon Oct 12 04:55:20 2015 New Revision: 289165 URL: https://svnweb.freebsd.org/changeset/base/289165 Log: net80211: move ieee80211_free_node() call on error from ic_raw_xmit() to ieee80211_raw_output(). This doesn't free the mbuf upon error; the driver ic_raw_xmit method is still doing that. Submitted by: Differential Revision: https://reviews.freebsd.org/D3774 Modified: head/sys/dev/ath/if_ath_tx.c head/sys/dev/bwi/if_bwi.c head/sys/dev/bwn/if_bwn.c head/sys/dev/iwm/if_iwm.c head/sys/dev/iwn/if_iwn.c head/sys/dev/malo/if_malo.c head/sys/dev/mwl/if_mwl.c head/sys/dev/otus/if_otus.c head/sys/dev/ral/rt2560.c head/sys/dev/ral/rt2661.c head/sys/dev/ral/rt2860.c head/sys/dev/usb/wlan/if_rsu.c head/sys/dev/usb/wlan/if_rum.c head/sys/dev/usb/wlan/if_run.c head/sys/dev/usb/wlan/if_uath.c head/sys/dev/usb/wlan/if_upgt.c head/sys/dev/usb/wlan/if_ural.c head/sys/dev/usb/wlan/if_urtw.c head/sys/dev/usb/wlan/if_urtwn.c head/sys/dev/usb/wlan/if_zyd.c head/sys/dev/wi/if_wi.c head/sys/dev/wpi/if_wpi.c head/sys/net80211/ieee80211_output.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/ath/if_ath_tx.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2452,7 +2452,6 @@ badbad: ATH_KTR(sc, ATH_KTR_TX, 2, "ath_raw_xmit: bad0: m=%p, params=%p", m, params); sc->sc_stats.ast_tx_raw_fail++; - ieee80211_free_node(ni); return error; } Modified: head/sys/dev/bwi/if_bwi.c ============================================================================== --- head/sys/dev/bwi/if_bwi.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/bwi/if_bwi.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1399,7 +1399,6 @@ bwi_raw_xmit(struct ieee80211_node *ni, int idx, error; if ((sc->sc_flags & BWI_F_RUNNING) == 0) { - ieee80211_free_node(ni); m_freem(m); return ENETDOWN; } @@ -1424,9 +1423,7 @@ bwi_raw_xmit(struct ieee80211_node *ni, tbd->tbd_used++; tbd->tbd_idx = (idx + 1) % BWI_TX_NDESC; sc->sc_tx_timer = 5; - } else - /* NB: m is reclaimed on encap failure */ - ieee80211_free_node(ni); + } BWI_UNLOCK(sc); return error; } Modified: head/sys/dev/bwn/if_bwn.c ============================================================================== --- head/sys/dev/bwn/if_bwn.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/bwn/if_bwn.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2684,29 +2684,26 @@ bwn_raw_xmit(struct ieee80211_node *ni, struct ieee80211com *ic = ni->ni_ic; struct bwn_softc *sc = ic->ic_softc; struct bwn_mac *mac = sc->sc_curmac; + int error; if ((sc->sc_flags & BWN_FLAG_RUNNING) == 0 || mac->mac_status < BWN_MAC_STATUS_STARTED) { - ieee80211_free_node(ni); m_freem(m); return (ENETDOWN); } BWN_LOCK(sc); if (bwn_tx_isfull(sc, m)) { - ieee80211_free_node(ni); m_freem(m); BWN_UNLOCK(sc); return (ENOBUFS); } - if (bwn_tx_start(sc, ni, m) != 0) { - if (ni != NULL) - ieee80211_free_node(ni); - } - sc->sc_watchdog_timer = 5; + error = bwn_tx_start(sc, ni, m); + if (error == 0) + sc->sc_watchdog_timer = 5; BWN_UNLOCK(sc); - return (0); + return (error); } /* Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/iwm/if_iwm.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2877,7 +2877,6 @@ iwm_raw_xmit(struct ieee80211_node *ni, "->%s begin\n", __func__); if ((sc->sc_flags & IWM_FLAG_HW_INITED) == 0) { - ieee80211_free_node(ni); m_freem(m); IWM_DPRINTF(sc, IWM_DEBUG_XMIT, "<-%s not RUNNING\n", __func__); @@ -2891,10 +2890,6 @@ iwm_raw_xmit(struct ieee80211_node *ni, } else { error = iwm_tx(sc, m, ni, 0); } - if (error != 0) { - /* NB: m is reclaimed on tx failure */ - ieee80211_free_node(ni); - } sc->sc_tx_timer = 5; IWM_UNLOCK(sc); Modified: head/sys/dev/iwn/if_iwn.c ============================================================================== --- head/sys/dev/iwn/if_iwn.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/iwn/if_iwn.c Mon Oct 12 04:55:20 2015 (r289165) @@ -4875,7 +4875,6 @@ iwn_raw_xmit(struct ieee80211_node *ni, DPRINTF(sc, IWN_DEBUG_XMIT | IWN_DEBUG_TRACE, "->%s begin\n", __func__); if ((sc->sc_flags & IWN_FLAG_RUNNING) == 0) { - ieee80211_free_node(ni); m_freem(m); return ENETDOWN; } @@ -4889,9 +4888,6 @@ iwn_raw_xmit(struct ieee80211_node *ni, if (sc->sc_beacon_wait) { if (iwn_xmit_queue_enqueue(sc, m) != 0) { m_freem(m); - if_inc_counter(ni->ni_vap->iv_ifp, - IFCOUNTER_OERRORS, 1); - ieee80211_free_node(ni); IWN_UNLOCK(sc); return (ENOBUFS); } @@ -4913,10 +4909,7 @@ iwn_raw_xmit(struct ieee80211_node *ni, */ error = iwn_tx_data_raw(sc, m, ni, params); } - if (error != 0) { - /* NB: m is reclaimed on tx failure */ - ieee80211_free_node(ni); - } else + if (error == 0) sc->sc_tx_timer = 5; IWN_UNLOCK(sc); Modified: head/sys/dev/malo/if_malo.c ============================================================================== --- head/sys/dev/malo/if_malo.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/malo/if_malo.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1786,7 +1786,6 @@ malo_raw_xmit(struct ieee80211_node *ni, struct malo_txq *txq; if (!sc->malo_running || sc->malo_invalid) { - ieee80211_free_node(ni); m_freem(m); return ENETDOWN; } @@ -1800,7 +1799,6 @@ malo_raw_xmit(struct ieee80211_node *ni, txq = &sc->malo_txq[0]; bf = malo_getbuf(sc, txq); if (bf == NULL) { - ieee80211_free_node(ni); m_freem(m); return ENOBUFS; } @@ -1816,7 +1814,6 @@ malo_raw_xmit(struct ieee80211_node *ni, txq->nfree++; MALO_TXQ_UNLOCK(txq); - ieee80211_free_node(ni); return EIO; /* XXX */ } Modified: head/sys/dev/mwl/if_mwl.c ============================================================================== --- head/sys/dev/mwl/if_mwl.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/mwl/if_mwl.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1422,7 +1422,6 @@ mwl_raw_xmit(struct ieee80211_node *ni, struct mwl_txq *txq; if (!sc->sc_running || sc->sc_invalid) { - ieee80211_free_node(ni); m_freem(m); return ENETDOWN; } @@ -1438,7 +1437,6 @@ mwl_raw_xmit(struct ieee80211_node *ni, bf = mwl_gettxbuf(sc, txq); if (bf == NULL) { sc->sc_stats.mst_tx_qstop++; - ieee80211_free_node(ni); m_freem(m); return ENOBUFS; } @@ -1448,7 +1446,6 @@ mwl_raw_xmit(struct ieee80211_node *ni, if (mwl_tx_start(sc, ni, bf, m)) { mwl_puttxbuf_head(txq, bf); - ieee80211_free_node(ni); return EIO; /* XXX */ } /* Modified: head/sys/dev/otus/if_otus.c ============================================================================== --- head/sys/dev/otus/if_otus.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/otus/if_otus.c Mon Oct 12 04:55:20 2015 (r289165) @@ -567,7 +567,6 @@ error: if (bf) otus_freebuf(sc, bf); OTUS_UNLOCK(sc); - ieee80211_free_node(ni); m_freem(m); return (ENXIO); } Modified: head/sys/dev/ral/rt2560.c ============================================================================== --- head/sys/dev/ral/rt2560.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/ral/rt2560.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2711,13 +2711,11 @@ rt2560_raw_xmit(struct ieee80211_node *n if (!(sc->sc_flags & RT2560_F_RUNNING)) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENETDOWN; } if (sc->prioq.queued >= RT2560_PRIO_RING_COUNT) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENOBUFS; /* XXX */ } @@ -2742,7 +2740,6 @@ rt2560_raw_xmit(struct ieee80211_node *n return 0; bad: - ieee80211_free_node(ni); RAL_UNLOCK(sc); return EIO; /* XXX */ } Modified: head/sys/dev/ral/rt2661.c ============================================================================== --- head/sys/dev/ral/rt2661.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/ral/rt2661.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1636,13 +1636,11 @@ rt2661_raw_xmit(struct ieee80211_node *n if (!(sc->sc_flags & RAL_RUNNING)) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENETDOWN; } if (sc->mgtq.queued >= RT2661_MGT_RING_COUNT) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENOBUFS; /* XXX */ } @@ -1659,7 +1657,6 @@ rt2661_raw_xmit(struct ieee80211_node *n return 0; bad: - ieee80211_free_node(ni); RAL_UNLOCK(sc); return EIO; /* XXX */ } Modified: head/sys/dev/ral/rt2860.c ============================================================================== --- head/sys/dev/ral/rt2860.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/ral/rt2860.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1702,7 +1702,6 @@ rt2860_raw_xmit(struct ieee80211_node *n if (!(sc->sc_flags & RT2860_RUNNNING)) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENETDOWN; } if (params == NULL) { @@ -1718,10 +1717,6 @@ rt2860_raw_xmit(struct ieee80211_node *n */ error = rt2860_tx_raw(sc, m, ni, params); } - if (error != 0) { - /* NB: m is reclaimed on tx failure */ - ieee80211_free_node(ni); - } sc->sc_tx_timer = 5; RAL_UNLOCK(sc); return error; Modified: head/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- head/sys/dev/usb/wlan/if_rsu.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_rsu.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2793,19 +2793,16 @@ rsu_raw_xmit(struct ieee80211_node *ni, /* prevent management frames from being sent if we're not ready */ if (!sc->sc_running) { m_freem(m); - ieee80211_free_node(ni); return (ENETDOWN); } RSU_LOCK(sc); bf = rsu_getbuf(sc); if (bf == NULL) { - ieee80211_free_node(ni); m_freem(m); RSU_UNLOCK(sc); return (ENOBUFS); } if (rsu_tx_start(sc, ni, m, bf) != 0) { - ieee80211_free_node(ni); m_freem(m); rsu_freebuf(sc, bf); RSU_UNLOCK(sc); Modified: head/sys/dev/usb/wlan/if_rum.c ============================================================================== --- head/sys/dev/usb/wlan/if_rum.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_rum.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2850,7 +2850,6 @@ rum_raw_xmit(struct ieee80211_node *ni, bad: RUM_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ret; } Modified: head/sys/dev/usb/wlan/if_run.c ============================================================================== --- head/sys/dev/usb/wlan/if_run.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_run.c Mon Oct 12 04:55:20 2015 (r289165) @@ -3707,7 +3707,6 @@ done: if (error != 0) { if(m != NULL) m_freem(m); - ieee80211_free_node(ni); } return (error); Modified: head/sys/dev/usb/wlan/if_uath.c ============================================================================== --- head/sys/dev/usb/wlan/if_uath.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_uath.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1781,7 +1781,6 @@ uath_raw_xmit(struct ieee80211_node *ni, if ((sc->sc_flags & UATH_FLAG_INVALID) || !(sc->sc_flags & UATH_FLAG_INITDONE)) { m_freem(m); - ieee80211_free_node(ni); UATH_UNLOCK(sc); return (ENETDOWN); } @@ -1789,7 +1788,6 @@ uath_raw_xmit(struct ieee80211_node *ni, /* grab a TX buffer */ bf = uath_getbuf(sc); if (bf == NULL) { - ieee80211_free_node(ni); m_freem(m); UATH_UNLOCK(sc); return (ENOBUFS); @@ -1797,7 +1795,6 @@ uath_raw_xmit(struct ieee80211_node *ni, sc->sc_seqnum = 0; if (uath_tx_start(sc, m, ni, bf) != 0) { - ieee80211_free_node(ni); STAILQ_INSERT_HEAD(&sc->sc_tx_inactive, bf, next); UATH_STAT_INC(sc, st_tx_inactive); UATH_UNLOCK(sc); Modified: head/sys/dev/usb/wlan/if_upgt.c ============================================================================== --- head/sys/dev/usb/wlan/if_upgt.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_upgt.c Mon Oct 12 04:55:20 2015 (r289165) @@ -798,14 +798,12 @@ upgt_raw_xmit(struct ieee80211_node *ni, /* prevent management frames from being sent if we're not ready */ if (!(sc->sc_flags & UPGT_FLAG_INITDONE)) { m_freem(m); - ieee80211_free_node(ni); UPGT_UNLOCK(sc); return ENETDOWN; } data_tx = upgt_gettxbuf(sc); if (data_tx == NULL) { - ieee80211_free_node(ni); m_freem(m); UPGT_UNLOCK(sc); return (ENOBUFS); @@ -814,7 +812,6 @@ upgt_raw_xmit(struct ieee80211_node *ni, if (upgt_tx_start(sc, m, ni, data_tx) != 0) { STAILQ_INSERT_HEAD(&sc->sc_tx_inactive, data_tx, next); UPGT_STAT_INC(sc, st_tx_inactive); - ieee80211_free_node(ni); UPGT_UNLOCK(sc); return (EIO); } Modified: head/sys/dev/usb/wlan/if_ural.c ============================================================================== --- head/sys/dev/usb/wlan/if_ural.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_ural.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2123,13 +2123,11 @@ ural_raw_xmit(struct ieee80211_node *ni, if (!sc->sc_running) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return ENETDOWN; } if (sc->tx_nfree < RAL_TX_MINFREE) { RAL_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return EIO; } @@ -2152,7 +2150,6 @@ ural_raw_xmit(struct ieee80211_node *ni, return 0; bad: RAL_UNLOCK(sc); - ieee80211_free_node(ni); return EIO; /* XXX */ } Modified: head/sys/dev/usb/wlan/if_urtw.c ============================================================================== --- head/sys/dev/usb/wlan/if_urtw.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_urtw.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1527,20 +1527,17 @@ urtw_raw_xmit(struct ieee80211_node *ni, /* prevent management frames from being sent if we're not ready */ if (!(sc->sc_flags & URTW_RUNNING)) { m_freem(m); - ieee80211_free_node(ni); return ENETDOWN; } URTW_LOCK(sc); bf = urtw_getbuf(sc); if (bf == NULL) { - ieee80211_free_node(ni); m_freem(m); URTW_UNLOCK(sc); return (ENOBUFS); /* XXX */ } if (urtw_tx_start(sc, ni, m, bf, URTW_PRIORITY_LOW) != 0) { - ieee80211_free_node(ni); STAILQ_INSERT_HEAD(&sc->sc_tx_inactive, bf, next); URTW_UNLOCK(sc); return (EIO); Modified: head/sys/dev/usb/wlan/if_urtwn.c ============================================================================== --- head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 04:55:20 2015 (r289165) @@ -3460,13 +3460,11 @@ urtwn_raw_xmit(struct ieee80211_node *ni /* prevent management frames from being sent if we're not ready */ if (!(sc->sc_flags & URTWN_RUNNING)) { m_freem(m); - ieee80211_free_node(ni); return (ENETDOWN); } URTWN_LOCK(sc); bf = urtwn_getbuf(sc); if (bf == NULL) { - ieee80211_free_node(ni); m_freem(m); URTWN_UNLOCK(sc); return (ENOBUFS); @@ -3474,7 +3472,6 @@ urtwn_raw_xmit(struct ieee80211_node *ni if (urtwn_tx_start(sc, ni, m, bf) != 0) { m_freem(m); - ieee80211_free_node(ni); STAILQ_INSERT_HEAD(&sc->sc_tx_inactive, bf, next); URTWN_UNLOCK(sc); return (EIO); Modified: head/sys/dev/usb/wlan/if_zyd.c ============================================================================== --- head/sys/dev/usb/wlan/if_zyd.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/usb/wlan/if_zyd.c Mon Oct 12 04:55:20 2015 (r289165) @@ -2590,13 +2590,11 @@ zyd_raw_xmit(struct ieee80211_node *ni, if (!(sc->sc_flags & ZYD_FLAG_RUNNING)) { ZYD_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return (ENETDOWN); } if (sc->tx_nfree == 0) { ZYD_UNLOCK(sc); m_freem(m); - ieee80211_free_node(ni); return (ENOBUFS); /* XXX */ } @@ -2607,7 +2605,6 @@ zyd_raw_xmit(struct ieee80211_node *ni, */ if (zyd_tx_start(sc, m, ni) != 0) { ZYD_UNLOCK(sc); - ieee80211_free_node(ni); m_freem(m); return (EIO); } Modified: head/sys/dev/wi/if_wi.c ============================================================================== --- head/sys/dev/wi/if_wi.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/wi/if_wi.c Mon Oct 12 04:55:20 2015 (r289165) @@ -1077,6 +1077,7 @@ wi_raw_xmit(struct ieee80211_node *ni, s goto out; } m0 = NULL; + ieee80211_free_node(ni); sc->sc_txnext = cur = (cur + 1) % sc->sc_ntxbuf; out: @@ -1084,7 +1085,6 @@ out: if (m0 != NULL) m_freem(m0); - ieee80211_free_node(ni); return rc; } Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/dev/wpi/if_wpi.c Mon Oct 12 04:55:20 2015 (r289165) @@ -3093,7 +3093,6 @@ unlock: WPI_TX_UNLOCK(sc); if (error != 0) { m_freem(m); - ieee80211_free_node(ni); DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END_ERR, __func__); return error; Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Mon Oct 12 04:30:38 2015 (r289164) +++ head/sys/net80211/ieee80211_output.c Mon Oct 12 04:55:20 2015 (r289165) @@ -531,8 +531,10 @@ ieee80211_raw_output(struct ieee80211vap (void) ieee80211_add_xmit_params(m, params); error = ic->ic_raw_xmit(ni, m, params); - if (error) + if (error) { if_inc_counter(vap->iv_ifp, IFCOUNTER_OERRORS, 1); + ieee80211_free_node(ni); + } return (error); } From owner-svn-src-head@freebsd.org Mon Oct 12 05:14:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BE5ACA11953; Mon, 12 Oct 2015 05:14:50 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 98A5A2F2; Mon, 12 Oct 2015 05:14:50 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C5En21034594; Mon, 12 Oct 2015 05:14:49 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C5EnZr034590; Mon, 12 Oct 2015 05:14:49 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120514.t9C5EnZr034590@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 05:14:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289167 - in head/sys: dev/usb/wlan modules/usb/urtwn X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 05:14:50 -0000 Author: adrian Date: Mon Oct 12 05:14:49 2015 New Revision: 289167 URL: https://svnweb.freebsd.org/changeset/base/289167 Log: urtwn(4): split *reg and *var parts (no functional change). Submitted by: Differential Revision: https://reviews.freebsd.org/D3775 Added: head/sys/dev/usb/wlan/if_urtwnvar.h (contents, props changed) Modified: head/sys/dev/usb/wlan/if_urtwn.c head/sys/dev/usb/wlan/if_urtwnreg.h head/sys/modules/usb/urtwn/Makefile Modified: head/sys/dev/usb/wlan/if_urtwn.c ============================================================================== --- head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 04:57:36 2015 (r289166) +++ head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 05:14:49 2015 (r289167) @@ -76,6 +76,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #ifdef USB_DEBUG static int urtwn_debug = 0; Modified: head/sys/dev/usb/wlan/if_urtwnreg.h ============================================================================== --- head/sys/dev/usb/wlan/if_urtwnreg.h Mon Oct 12 04:57:36 2015 (r289166) +++ head/sys/dev/usb/wlan/if_urtwnreg.h Mon Oct 12 05:14:49 2015 (r289167) @@ -1061,197 +1061,6 @@ struct r92c_tx_desc { /* - * Driver definitions. - */ -#define URTWN_RX_LIST_COUNT 1 -#define URTWN_TX_LIST_COUNT 8 -#define URTWN_HOST_CMD_RING_COUNT 32 - -#define URTWN_RXBUFSZ (16 * 1024) -#define URTWN_TXBUFSZ (sizeof(struct r92c_tx_desc) + IEEE80211_MAX_LEN) -#define URTWN_RX_DESC_SIZE (sizeof(struct r92c_rx_stat)) -#define URTWN_TX_DESC_SIZE (sizeof(struct r92c_tx_desc)) - -#define URTWN_RIDX_COUNT 28 - -#define URTWN_TX_TIMEOUT 5000 /* ms */ - -#define URTWN_LED_LINK 0 -#define URTWN_LED_DATA 1 - -struct urtwn_rx_radiotap_header { - struct ieee80211_radiotap_header wr_ihdr; - uint8_t wr_flags; - uint8_t wr_rate; - uint16_t wr_chan_freq; - uint16_t wr_chan_flags; - uint8_t wr_dbm_antsignal; -} __packed __aligned(8); - -#define URTWN_RX_RADIOTAP_PRESENT \ - (1 << IEEE80211_RADIOTAP_FLAGS | \ - 1 << IEEE80211_RADIOTAP_RATE | \ - 1 << IEEE80211_RADIOTAP_CHANNEL | \ - 1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) - -struct urtwn_tx_radiotap_header { - struct ieee80211_radiotap_header wt_ihdr; - uint8_t wt_flags; - uint16_t wt_chan_freq; - uint16_t wt_chan_flags; -} __packed __aligned(8); - -#define URTWN_TX_RADIOTAP_PRESENT \ - (1 << IEEE80211_RADIOTAP_FLAGS | \ - 1 << IEEE80211_RADIOTAP_CHANNEL) - -struct urtwn_softc; - -struct urtwn_data { - struct urtwn_softc *sc; - uint8_t *buf; - uint16_t buflen; - struct mbuf *m; - struct ieee80211_node *ni; - STAILQ_ENTRY(urtwn_data) next; -}; -typedef STAILQ_HEAD(, urtwn_data) urtwn_datahead; - -struct urtwn_cmdq { - void *arg0; - void *arg1; - void (*func)(void *); - struct ieee80211_key *k; - struct ieee80211_key key; - uint8_t mac[IEEE80211_ADDR_LEN]; - uint8_t wcid; -}; - -struct urtwn_fw_info { - const uint8_t *data; - size_t size; -}; - -struct urtwn_vap { - struct ieee80211vap vap; - - int (*newstate)(struct ieee80211vap *, - enum ieee80211_state, int); -}; -#define URTWN_VAP(vap) ((struct urtwn_vap *)(vap)) - -struct urtwn_host_cmd { - void (*cb)(struct urtwn_softc *, void *); - uint8_t data[256]; -}; - -struct urtwn_cmd_newstate { - enum ieee80211_state state; - int arg; -}; - -struct urtwn_cmd_key { - struct ieee80211_key key; - uint16_t associd; -}; - -enum { - URTWN_BULK_RX, - URTWN_BULK_TX_BE, /* = WME_AC_BE */ - URTWN_BULK_TX_BK, /* = WME_AC_BK */ - URTWN_BULK_TX_VI, /* = WME_AC_VI */ - URTWN_BULK_TX_VO, /* = WME_AC_VI */ - URTWN_N_TRANSFER = 5, -}; - -#define URTWN_EP_QUEUES URTWN_BULK_RX - -struct urtwn_softc { - struct ieee80211com sc_ic; - struct mbufq sc_snd; - device_t sc_dev; - struct usb_device *sc_udev; - - int ac2idx[WME_NUM_AC]; - u_int sc_flags; -#define URTWN_FLAG_CCK_HIPWR 0x01 -#define URTWN_DETACHED 0x02 -#define URTWN_RUNNING 0x04 - - u_int chip; -#define URTWN_CHIP_92C 0x01 -#define URTWN_CHIP_92C_1T2R 0x02 -#define URTWN_CHIP_UMC 0x04 -#define URTWN_CHIP_UMC_A_CUT 0x08 -#define URTWN_CHIP_88E 0x10 - - void (*sc_rf_write)(struct urtwn_softc *, - int, uint8_t, uint32_t); - int (*sc_power_on)(struct urtwn_softc *); - int (*sc_dma_init)(struct urtwn_softc *); - - uint8_t board_type; - uint8_t regulatory; - uint8_t pa_setting; - int avg_pwdb; - int thcal_state; - int thcal_lctemp; - int ntxchains; - int nrxchains; - int ledlink; - int sc_txtimer; - - int fwcur; - struct urtwn_data sc_rx[URTWN_RX_LIST_COUNT]; - urtwn_datahead sc_rx_active; - urtwn_datahead sc_rx_inactive; - struct urtwn_data sc_tx[URTWN_TX_LIST_COUNT]; - urtwn_datahead sc_tx_active; - urtwn_datahead sc_tx_inactive; - urtwn_datahead sc_tx_pending; - - const char *fwname; - const struct firmware *fw_fp; - struct urtwn_fw_info fw; - void *fw_virtaddr; - - struct r92c_rom rom; - uint8_t r88e_rom[512]; - uint8_t cck_tx_pwr[6]; - uint8_t ht40_tx_pwr[5]; - int8_t bw20_tx_pwr_diff; - int8_t ofdm_tx_pwr_diff; - - struct callout sc_watchdog_ch; - struct mtx sc_mtx; - -/* need to be power of 2, otherwise URTWN_CMDQ_GET fails */ -#define URTWN_CMDQ_MAX 16 -#define URTWN_CMDQ_MASQ (URTWN_CMDQ_MAX - 1) - struct urtwn_cmdq cmdq[URTWN_CMDQ_MAX]; - struct task cmdq_task; - uint32_t cmdq_store; - uint8_t cmdq_exec; - uint8_t cmdq_run; - uint8_t cmdq_key_set; -#define URTWN_CMDQ_ABORT 0 -#define URTWN_CMDQ_GO 1 - - uint32_t rf_chnlbw[R92C_MAX_CHAINS]; - struct usb_xfer *sc_xfer[URTWN_N_TRANSFER]; - - struct urtwn_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; - - struct urtwn_tx_radiotap_header sc_txtap; - int sc_txtap_len; -}; - -#define URTWN_LOCK(sc) mtx_lock(&(sc)->sc_mtx) -#define URTWN_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) -#define URTWN_ASSERT_LOCKED(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) - -/* * MAC initialization values. */ static const struct { Added: head/sys/dev/usb/wlan/if_urtwnvar.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/usb/wlan/if_urtwnvar.h Mon Oct 12 05:14:49 2015 (r289167) @@ -0,0 +1,206 @@ +/*- + * Copyright (c) 2010 Damien Bergamini + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * $OpenBSD: if_urtwnreg.h,v 1.3 2010/11/16 18:02:59 damien Exp $ + * $FreeBSD$ + */ + +#define URTWN_RX_LIST_COUNT 1 +#define URTWN_TX_LIST_COUNT 8 +#define URTWN_HOST_CMD_RING_COUNT 32 + +#define URTWN_RXBUFSZ (16 * 1024) +#define URTWN_TXBUFSZ (sizeof(struct r92c_tx_desc) + IEEE80211_MAX_LEN) +#define URTWN_RX_DESC_SIZE (sizeof(struct r92c_rx_stat)) +#define URTWN_TX_DESC_SIZE (sizeof(struct r92c_tx_desc)) + +#define URTWN_RIDX_COUNT 28 + +#define URTWN_TX_TIMEOUT 5000 /* ms */ + +#define URTWN_LED_LINK 0 +#define URTWN_LED_DATA 1 + +struct urtwn_rx_radiotap_header { + struct ieee80211_radiotap_header wr_ihdr; + uint8_t wr_flags; + uint8_t wr_rate; + uint16_t wr_chan_freq; + uint16_t wr_chan_flags; + uint8_t wr_dbm_antsignal; +} __packed __aligned(8); + +#define URTWN_RX_RADIOTAP_PRESENT \ + (1 << IEEE80211_RADIOTAP_FLAGS | \ + 1 << IEEE80211_RADIOTAP_RATE | \ + 1 << IEEE80211_RADIOTAP_CHANNEL | \ + 1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) + +struct urtwn_tx_radiotap_header { + struct ieee80211_radiotap_header wt_ihdr; + uint8_t wt_flags; + uint16_t wt_chan_freq; + uint16_t wt_chan_flags; +} __packed __aligned(8); + +#define URTWN_TX_RADIOTAP_PRESENT \ + (1 << IEEE80211_RADIOTAP_FLAGS | \ + 1 << IEEE80211_RADIOTAP_CHANNEL) + +struct urtwn_softc; + +struct urtwn_data { + struct urtwn_softc *sc; + uint8_t *buf; + uint16_t buflen; + struct mbuf *m; + struct ieee80211_node *ni; + STAILQ_ENTRY(urtwn_data) next; +}; +typedef STAILQ_HEAD(, urtwn_data) urtwn_datahead; + +struct urtwn_cmdq { + void *arg0; + void *arg1; + void (*func)(void *); + struct ieee80211_key *k; + struct ieee80211_key key; + uint8_t mac[IEEE80211_ADDR_LEN]; + uint8_t wcid; +}; + +struct urtwn_fw_info { + const uint8_t *data; + size_t size; +}; + +struct urtwn_vap { + struct ieee80211vap vap; + + int (*newstate)(struct ieee80211vap *, + enum ieee80211_state, int); +}; +#define URTWN_VAP(vap) ((struct urtwn_vap *)(vap)) + +struct urtwn_host_cmd { + void (*cb)(struct urtwn_softc *, void *); + uint8_t data[256]; +}; + +struct urtwn_cmd_newstate { + enum ieee80211_state state; + int arg; +}; + +struct urtwn_cmd_key { + struct ieee80211_key key; + uint16_t associd; +}; + +enum { + URTWN_BULK_RX, + URTWN_BULK_TX_BE, /* = WME_AC_BE */ + URTWN_BULK_TX_BK, /* = WME_AC_BK */ + URTWN_BULK_TX_VI, /* = WME_AC_VI */ + URTWN_BULK_TX_VO, /* = WME_AC_VI */ + URTWN_N_TRANSFER = 5, +}; + +#define URTWN_EP_QUEUES URTWN_BULK_RX + +struct urtwn_softc { + struct ieee80211com sc_ic; + struct mbufq sc_snd; + device_t sc_dev; + struct usb_device *sc_udev; + + int ac2idx[WME_NUM_AC]; + u_int sc_flags; +#define URTWN_FLAG_CCK_HIPWR 0x01 +#define URTWN_DETACHED 0x02 +#define URTWN_RUNNING 0x04 + + u_int chip; +#define URTWN_CHIP_92C 0x01 +#define URTWN_CHIP_92C_1T2R 0x02 +#define URTWN_CHIP_UMC 0x04 +#define URTWN_CHIP_UMC_A_CUT 0x08 +#define URTWN_CHIP_88E 0x10 + + void (*sc_rf_write)(struct urtwn_softc *, + int, uint8_t, uint32_t); + int (*sc_power_on)(struct urtwn_softc *); + int (*sc_dma_init)(struct urtwn_softc *); + + uint8_t board_type; + uint8_t regulatory; + uint8_t pa_setting; + int avg_pwdb; + int thcal_state; + int thcal_lctemp; + int ntxchains; + int nrxchains; + int ledlink; + int sc_txtimer; + + int fwcur; + struct urtwn_data sc_rx[URTWN_RX_LIST_COUNT]; + urtwn_datahead sc_rx_active; + urtwn_datahead sc_rx_inactive; + struct urtwn_data sc_tx[URTWN_TX_LIST_COUNT]; + urtwn_datahead sc_tx_active; + urtwn_datahead sc_tx_inactive; + urtwn_datahead sc_tx_pending; + + const char *fwname; + const struct firmware *fw_fp; + struct urtwn_fw_info fw; + void *fw_virtaddr; + + struct r92c_rom rom; + uint8_t r88e_rom[512]; + uint8_t cck_tx_pwr[6]; + uint8_t ht40_tx_pwr[5]; + int8_t bw20_tx_pwr_diff; + int8_t ofdm_tx_pwr_diff; + + struct callout sc_watchdog_ch; + struct mtx sc_mtx; + +/* need to be power of 2, otherwise URTWN_CMDQ_GET fails */ +#define URTWN_CMDQ_MAX 16 +#define URTWN_CMDQ_MASQ (URTWN_CMDQ_MAX - 1) + struct urtwn_cmdq cmdq[URTWN_CMDQ_MAX]; + struct task cmdq_task; + uint32_t cmdq_store; + uint8_t cmdq_exec; + uint8_t cmdq_run; + uint8_t cmdq_key_set; +#define URTWN_CMDQ_ABORT 0 +#define URTWN_CMDQ_GO 1 + + uint32_t rf_chnlbw[R92C_MAX_CHAINS]; + struct usb_xfer *sc_xfer[URTWN_N_TRANSFER]; + + struct urtwn_rx_radiotap_header sc_rxtap; + int sc_rxtap_len; + + struct urtwn_tx_radiotap_header sc_txtap; + int sc_txtap_len; +}; + +#define URTWN_LOCK(sc) mtx_lock(&(sc)->sc_mtx) +#define URTWN_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) +#define URTWN_ASSERT_LOCKED(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) \ No newline at end of file Modified: head/sys/modules/usb/urtwn/Makefile ============================================================================== --- head/sys/modules/usb/urtwn/Makefile Mon Oct 12 04:57:36 2015 (r289166) +++ head/sys/modules/usb/urtwn/Makefile Mon Oct 12 05:14:49 2015 (r289167) @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../../dev/usb/wlan KMOD = if_urtwn -SRCS = if_urtwn.c if_urtwnreg.h \ +SRCS = if_urtwn.c if_urtwnreg.h if_urtwnvar.h \ bus_if.h device_if.h \ opt_bus.h opt_usb.h opt_wlan.h usb_if.h usbdevs.h From owner-svn-src-head@freebsd.org Mon Oct 12 05:21:54 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACB31A11BAE; Mon, 12 Oct 2015 05:21:54 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6965A960; Mon, 12 Oct 2015 05:21:54 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C5LrYj037982; Mon, 12 Oct 2015 05:21:53 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C5LquJ037967; Mon, 12 Oct 2015 05:21:52 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510120521.t9C5LquJ037967@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 12 Oct 2015 05:21:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289168 - in head/sys/dev: iwm otus ral usb/wlan X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 05:21:54 -0000 Author: adrian Date: Mon Oct 12 05:21:51 2015 New Revision: 289168 URL: https://svnweb.freebsd.org/changeset/base/289168 Log: net80211 drivers: eliminate any references to sc_rxtap_len/sc_txtap_len (never used here) Submitted by: Differential Revision: https://reviews.freebsd.org/D3776 Modified: head/sys/dev/iwm/if_iwmvar.h head/sys/dev/otus/if_otus.c head/sys/dev/otus/if_otusreg.h head/sys/dev/ral/rt2560var.h head/sys/dev/ral/rt2661var.h head/sys/dev/ral/rt2860var.h head/sys/dev/usb/wlan/if_rsureg.h head/sys/dev/usb/wlan/if_runvar.h head/sys/dev/usb/wlan/if_uathvar.h head/sys/dev/usb/wlan/if_upgtvar.h head/sys/dev/usb/wlan/if_uralvar.h head/sys/dev/usb/wlan/if_urtwnvar.h head/sys/dev/usb/wlan/if_urtwvar.h head/sys/dev/usb/wlan/if_zydreg.h Modified: head/sys/dev/iwm/if_iwmvar.h ============================================================================== --- head/sys/dev/iwm/if_iwmvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/iwm/if_iwmvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -496,14 +496,12 @@ struct iwm_softc { uint8_t pad[IEEE80211_RADIOTAP_HDRLEN]; } sc_rxtapu; #define sc_rxtap sc_rxtapu.th - int sc_rxtap_len; union { struct iwm_tx_radiotap_header th; uint8_t pad[IEEE80211_RADIOTAP_HDRLEN]; } sc_txtapu; #define sc_txtap sc_txtapu.th - int sc_txtap_len; int sc_max_rssi; }; Modified: head/sys/dev/otus/if_otus.c ============================================================================== --- head/sys/dev/otus/if_otus.c Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/otus/if_otus.c Mon Oct 12 05:21:51 2015 (r289168) @@ -1712,7 +1712,6 @@ otus_sub_rxeof(struct otus_softc *sc, ui break; } mb.m_data = (caddr_t)tap; - mb.m_len = sc->sc_rxtap_len; mb.m_next = m; mb.m_nextpkt = NULL; mb.m_type = 0; Modified: head/sys/dev/otus/if_otusreg.h ============================================================================== --- head/sys/dev/otus/if_otusreg.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/otus/if_otusreg.h Mon Oct 12 05:21:51 2015 (r289168) @@ -1017,14 +1017,12 @@ struct otus_softc { uint8_t pad[64]; } sc_rxtapu; #define sc_rxtap sc_rxtapu.th - int sc_rxtap_len; union { struct otus_tx_radiotap_header th; uint8_t pad[64]; } sc_txtapu; #define sc_txtap sc_txtapu.th - int sc_txtap_len; }; #endif /* __IF_OTUSREG_H__ */ Modified: head/sys/dev/ral/rt2560var.h ============================================================================== --- head/sys/dev/ral/rt2560var.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/ral/rt2560var.h Mon Oct 12 05:21:51 2015 (r289168) @@ -146,10 +146,8 @@ struct rt2560_softc { int nb_ant; struct rt2560_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; - struct rt2560_tx_radiotap_header sc_txtap; - int sc_txtap_len; + #define RT2560_F_INPUT_RUNNING 0x1 #define RT2560_F_RUNNING 0x2 int sc_flags; Modified: head/sys/dev/ral/rt2661var.h ============================================================================== --- head/sys/dev/ral/rt2661var.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/ral/rt2661var.h Mon Oct 12 05:21:51 2015 (r289168) @@ -157,9 +157,7 @@ struct rt2661_softc { int dwelltime; struct rt2661_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct rt2661_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; int rt2661_attach(device_t, int); Modified: head/sys/dev/ral/rt2860var.h ============================================================================== --- head/sys/dev/ral/rt2860var.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/ral/rt2860var.h Mon Oct 12 05:21:51 2015 (r289168) @@ -194,9 +194,7 @@ struct rt2860_softc { uint32_t txpow40mhz_5ghz[5]; struct rt2860_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct rt2860_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; int rt2860_attach(device_t, int); Modified: head/sys/dev/usb/wlan/if_rsureg.h ============================================================================== --- head/sys/dev/usb/wlan/if_rsureg.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_rsureg.h Mon Oct 12 05:21:51 2015 (r289168) @@ -793,12 +793,10 @@ struct rsu_softc { uint8_t pad[64]; } sc_rxtapu; #define sc_rxtap sc_rxtapu.th - int sc_rxtap_len; union { struct rsu_tx_radiotap_header th; uint8_t pad[64]; } sc_txtapu; #define sc_txtap sc_txtapu.th - int sc_txtap_len; }; Modified: head/sys/dev/usb/wlan/if_runvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_runvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_runvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -253,14 +253,12 @@ struct run_softc { uint8_t pad[64]; } sc_rxtapu; #define sc_rxtap sc_rxtapu.th - int sc_rxtap_len; union { struct run_tx_radiotap_header th; uint8_t pad[64]; } sc_txtapu; #define sc_txtap sc_txtapu.th - int sc_txtap_len; }; #define RUN_LOCK(sc) mtx_lock(&(sc)->sc_mtx) Modified: head/sys/dev/usb/wlan/if_uathvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_uathvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_uathvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -230,9 +230,7 @@ struct uath_softc { #define UATH_FLAG_INITDONE (1 << 2) struct uath_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct uath_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define UATH_LOCK(sc) mtx_lock(&(sc)->sc_mtx) Modified: head/sys/dev/usb/wlan/if_upgtvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_upgtvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_upgtvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -472,9 +472,7 @@ struct upgt_softc { /* BPF */ struct upgt_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct upgt_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define UPGT_LOCK(sc) mtx_lock(&(sc)->sc_mtx) Modified: head/sys/dev/usb/wlan/if_uralvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_uralvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_uralvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -125,10 +125,7 @@ struct ural_softc { int nb_ant; struct ural_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; - struct ural_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define RAL_LOCK(sc) mtx_lock(&(sc)->sc_mtx) Modified: head/sys/dev/usb/wlan/if_urtwnvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_urtwnvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_urtwnvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -195,12 +195,9 @@ struct urtwn_softc { struct usb_xfer *sc_xfer[URTWN_N_TRANSFER]; struct urtwn_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; - struct urtwn_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define URTWN_LOCK(sc) mtx_lock(&(sc)->sc_mtx) #define URTWN_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) -#define URTWN_ASSERT_LOCKED(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) \ No newline at end of file +#define URTWN_ASSERT_LOCKED(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) Modified: head/sys/dev/usb/wlan/if_urtwvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_urtwvar.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_urtwvar.h Mon Oct 12 05:21:51 2015 (r289168) @@ -178,9 +178,7 @@ struct urtw_softc { struct urtw_stats sc_stats; struct urtw_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct urtw_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define URTW_LOCK(sc) mtx_lock(&(sc)->sc_mtx) Modified: head/sys/dev/usb/wlan/if_zydreg.h ============================================================================== --- head/sys/dev/usb/wlan/if_zydreg.h Mon Oct 12 05:14:49 2015 (r289167) +++ head/sys/dev/usb/wlan/if_zydreg.h Mon Oct 12 05:21:51 2015 (r289168) @@ -1304,9 +1304,7 @@ struct zyd_softc { struct zyd_cmd sc_ibuf; struct zyd_rx_radiotap_header sc_rxtap; - int sc_rxtap_len; struct zyd_tx_radiotap_header sc_txtap; - int sc_txtap_len; }; #define ZYD_LOCK(sc) mtx_lock(&(sc)->sc_mtx) From owner-svn-src-head@freebsd.org Mon Oct 12 08:16:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9F57A11A84; Mon, 12 Oct 2015 08:16:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 67B18155A; Mon, 12 Oct 2015 08:16:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C8GBYl001615; Mon, 12 Oct 2015 08:16:11 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C8G3DZ001516; Mon, 12 Oct 2015 08:16:03 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510120816.t9C8G3DZ001516@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 12 Oct 2015 08:16:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289172 - in head: bin/cat/tests bin/date/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sleep/tests bin/test/tests bin/tests cddl/lib/tes... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 08:16:13 -0000 Author: ngie Date: Mon Oct 12 08:16:03 2015 New Revision: 289172 URL: https://svnweb.freebsd.org/changeset/base/289172 Log: Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and netbsd-tests.test.mk (r289151) - Eliminate explicit OBJTOP/SRCTOP setting - Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk - Remove unnecessary TESTSDIR setting - Use SRCTOP where possible for clarity MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Divison Modified: head/bin/cat/tests/Makefile head/bin/date/tests/Makefile head/bin/expr/tests/Makefile head/bin/ls/tests/Makefile head/bin/mv/tests/Makefile head/bin/pax/tests/Makefile head/bin/pkill/tests/Makefile head/bin/sh/tests/Makefile head/bin/sleep/tests/Makefile head/bin/test/tests/Makefile head/bin/tests/Makefile head/cddl/lib/tests/Makefile head/cddl/sbin/tests/Makefile head/cddl/tests/Makefile head/cddl/usr.bin/tests/Makefile head/cddl/usr.sbin/dtrace/tests/Makefile head/cddl/usr.sbin/tests/Makefile head/gnu/lib/tests/Makefile head/gnu/tests/Makefile head/gnu/usr.bin/diff/tests/Makefile head/gnu/usr.bin/tests/Makefile head/lib/atf/libatf-c++/tests/Makefile head/lib/atf/libatf-c++/tests/detail/Makefile head/lib/atf/libatf-c/tests/Makefile head/lib/atf/libatf-c/tests/detail/Makefile head/lib/atf/tests/Makefile head/lib/atf/tests/test-programs/Makefile head/lib/libc/tests/Makefile head/lib/libc/tests/Makefile.netbsd-tests head/lib/libc/tests/c063/Makefile head/lib/libc/tests/db/Makefile head/lib/libc/tests/gen/Makefile head/lib/libc/tests/gen/execve/Makefile head/lib/libc/tests/gen/posix_spawn/Makefile head/lib/libc/tests/hash/Makefile head/lib/libc/tests/inet/Makefile head/lib/libc/tests/locale/Makefile head/lib/libc/tests/net/Makefile head/lib/libc/tests/net/getaddrinfo/Makefile head/lib/libc/tests/regex/Makefile head/lib/libc/tests/rpc/Makefile head/lib/libc/tests/setjmp/Makefile head/lib/libc/tests/ssp/Makefile head/lib/libc/tests/stdio/Makefile head/lib/libc/tests/stdlib/Makefile head/lib/libc/tests/string/Makefile head/lib/libc/tests/sys/Makefile head/lib/libc/tests/termios/Makefile head/lib/libc/tests/time/Makefile head/lib/libc/tests/tls/Makefile head/lib/libc/tests/tls/dso/Makefile head/lib/libc/tests/tls_dso/Makefile head/lib/libc/tests/ttyio/Makefile head/lib/libcrypt/tests/Makefile head/lib/libmp/tests/Makefile head/lib/libnv/tests/Makefile head/lib/libpam/libpam/tests/Makefile head/lib/libproc/tests/Makefile head/lib/librt/tests/Makefile head/lib/libthr/tests/Makefile head/lib/libthr/tests/dlopen/Makefile head/lib/libthr/tests/dlopen/dso/Makefile head/lib/libutil/tests/Makefile head/lib/msun/tests/Makefile head/lib/tests/Makefile head/libexec/atf/atf-check/tests/Makefile head/libexec/atf/atf-sh/tests/Makefile head/libexec/atf/tests/Makefile head/libexec/rtld-elf/tests/Makefile head/libexec/tests/Makefile head/sbin/devd/tests/Makefile head/sbin/dhclient/tests/Makefile head/sbin/growfs/tests/Makefile head/sbin/ifconfig/tests/Makefile head/sbin/mdconfig/tests/Makefile head/sbin/tests/Makefile head/secure/lib/tests/Makefile head/secure/libexec/tests/Makefile head/secure/tests/Makefile head/secure/usr.bin/tests/Makefile head/secure/usr.sbin/tests/Makefile head/share/examples/tests/Makefile head/share/tests/Makefile head/tests/etc/Makefile head/tests/sys/mqueue/Makefile head/tests/sys/pjdfstest/tests/Makefile head/usr.bin/apply/tests/Makefile head/usr.bin/basename/tests/Makefile head/usr.bin/calendar/tests/Makefile head/usr.bin/cmp/tests/Makefile head/usr.bin/col/tests/Makefile head/usr.bin/comm/tests/Makefile head/usr.bin/cut/tests/Makefile head/usr.bin/dirname/tests/Makefile head/usr.bin/file2c/tests/Makefile head/usr.bin/grep/tests/Makefile head/usr.bin/gzip/tests/Makefile head/usr.bin/ident/tests/Makefile head/usr.bin/join/tests/Makefile head/usr.bin/jot/tests/Makefile head/usr.bin/lastcomm/tests/Makefile head/usr.bin/m4/tests/Makefile head/usr.bin/mkimg/tests/Makefile head/usr.bin/ncal/tests/Makefile head/usr.bin/printf/tests/Makefile head/usr.bin/sed/tests/Makefile head/usr.bin/soelim/tests/Makefile head/usr.bin/tests/Makefile head/usr.bin/truncate/tests/Makefile head/usr.bin/units/tests/Makefile head/usr.bin/uudecode/tests/Makefile head/usr.bin/uuencode/tests/Makefile head/usr.bin/xargs/tests/Makefile head/usr.bin/yacc/tests/Makefile head/usr.sbin/etcupdate/tests/Makefile head/usr.sbin/fstyp/tests/Makefile head/usr.sbin/newsyslog/tests/Makefile head/usr.sbin/nmtree/tests/Makefile head/usr.sbin/pw/tests/Makefile head/usr.sbin/sa/tests/Makefile head/usr.sbin/tests/Makefile Directory Properties: head/ (props changed) Modified: head/bin/cat/tests/Makefile ============================================================================== --- head/bin/cat/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/cat/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR}/../../.. -SRCTOP= ${.CURDIR}/../../.. -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/bin/cat - -TESTSDIR= ${TESTSBASE}/bin/cat - NETBSD_ATF_TESTS_SH= cat_test FILESDIR= ${TESTSDIR} Modified: head/bin/date/tests/Makefile ============================================================================== --- head/bin/date/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/date/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/date - ATF_TESTS_SH= format_string_test .include Modified: head/bin/expr/tests/Makefile ============================================================================== --- head/bin/expr/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/expr/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR}/../../.. -SRCTOP= ${.CURDIR}/../../.. -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/bin/expr - -TESTSDIR= ${TESTSBASE}/bin/expr - NETBSD_ATF_TESTS_SH= expr_test ATF_TESTS_SH_SED_expr_test+= -e 's/eval expr/eval expr --/g' Modified: head/bin/ls/tests/Makefile ============================================================================== --- head/bin/ls/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/ls/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/bin/ls - ATF_TESTS_SH+= ls_tests # This seems like overkill, but the idea in mind is that all of the testcases # should be runnable as !root Modified: head/bin/mv/tests/Makefile ============================================================================== --- head/bin/mv/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/mv/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/mv - TAP_TESTS_SH= legacy_test .include Modified: head/bin/pax/tests/Makefile ============================================================================== --- head/bin/pax/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/pax/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/pax - TAP_TESTS_PERL= legacy_test .include Modified: head/bin/pkill/tests/Makefile ============================================================================== --- head/bin/pkill/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/pkill/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/pkill - TAP_TESTS_SH= pgrep-F_test TAP_TESTS_SH+= pgrep-LF_test TAP_TESTS_SH+= pgrep-P_test Modified: head/bin/sh/tests/Makefile ============================================================================== --- head/bin/sh/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/sh/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/sh - TESTS_SUBDIRS+= builtins TESTS_SUBDIRS+= errors TESTS_SUBDIRS+= execution Modified: head/bin/sleep/tests/Makefile ============================================================================== --- head/bin/sleep/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/sleep/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,12 +1,7 @@ # $FreeBSD$ -TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/bin/sleep -.PATH: ${TESTSRC} - .include -TESTSDIR= ${TESTSBASE}/bin/sleep -ATF_TESTS_SH= sleep_test -ATF_TESTS_SH_SRC_sleep_test= t_sleep.sh +NETBSD_ATF_TESTS_SH= sleep_test .include Modified: head/bin/test/tests/Makefile ============================================================================== --- head/bin/test/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/test/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/test - TAP_TESTS_SH= legacy_test # Some tests in here are silently not run when the tests are executed as # root. Explicitly tell Kyua to drop privileges. Modified: head/bin/tests/Makefile ============================================================================== --- head/bin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/bin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/bin - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/cddl/lib/tests/Makefile ============================================================================== --- head/cddl/lib/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/lib/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/lib - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/cddl/sbin/tests/Makefile ============================================================================== --- head/cddl/sbin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/sbin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/sbin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/cddl/tests/Makefile ============================================================================== --- head/cddl/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/cddl/usr.bin/tests/Makefile ============================================================================== --- head/cddl/usr.bin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/usr.bin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/usr.bin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/cddl/usr.sbin/dtrace/tests/Makefile ============================================================================== --- head/cddl/usr.sbin/dtrace/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/usr.sbin/dtrace/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,10 +2,9 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace TESTS_SUBDIRS+= common -.PATH: ${.CURDIR:H:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= YES .PATH: ${.CURDIR}/tools Modified: head/cddl/usr.sbin/tests/Makefile ============================================================================== --- head/cddl/usr.sbin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/cddl/usr.sbin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/usr.sbin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/gnu/lib/tests/Makefile ============================================================================== --- head/gnu/lib/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/gnu/lib/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/gnu/lib - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/gnu/tests/Makefile ============================================================================== --- head/gnu/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/gnu/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/gnu - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/gnu/usr.bin/diff/tests/Makefile ============================================================================== --- head/gnu/usr.bin/diff/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/gnu/usr.bin/diff/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,17 +1,14 @@ # $FreeBSD$ -TESTSRC= ${.CURDIR}/../../../../contrib/netbsd-tests/usr.bin/diff -.PATH: ${TESTSRC} +TESTSRC= ${SRCTOP}/contrib/netbsd-tests/usr.bin/diff -.include - -TESTSDIR= ${TESTSBASE}/gnu/usr.bin/diff -ATF_TESTS_SH= diff_test +NETBSD_ATF_TESTS_SH= diff_test ATF_TESTS_SH_SED_diff_test= -e 's/t_diff/`basename $$0`/g' -ATF_TESTS_SH_SRC_diff_test= t_diff.sh FILESDIR= ${TESTSDIR} FILES+= d_mallocv1.in FILES+= d_mallocv2.in +.include + .include Modified: head/gnu/usr.bin/tests/Makefile ============================================================================== --- head/gnu/usr.bin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/gnu/usr.bin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/gnu/usr.bin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/lib/atf/libatf-c++/tests/Makefile ============================================================================== --- head/lib/atf/libatf-c++/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/libatf-c++/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,10 +2,9 @@ .include -TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c++ TESTS_SUBDIRS= detail -ATF= ${.CURDIR:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-c++ .PATH: ${ATF}/atf-c++/detail Modified: head/lib/atf/libatf-c++/tests/detail/Makefile ============================================================================== --- head/lib/atf/libatf-c++/tests/detail/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/libatf-c++/tests/detail/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -4,7 +4,7 @@ TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c++/detail -ATF= ${.CURDIR:H:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-c++/detail CFLAGS+= -DATF_C_TESTS_BASE='"${TESTSBASE}/lib/atf/libatf-c"' Modified: head/lib/atf/libatf-c/tests/Makefile ============================================================================== --- head/lib/atf/libatf-c/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/libatf-c/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,10 +2,9 @@ .include -TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c TESTS_SUBDIRS= detail -ATF= ${.CURDIR:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-c .PATH: ${ATF}/atf-c/detail Modified: head/lib/atf/libatf-c/tests/detail/Makefile ============================================================================== --- head/lib/atf/libatf-c/tests/detail/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/libatf-c/tests/detail/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -4,7 +4,7 @@ TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c/detail -ATF= ${.CURDIR:H:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-c/detail CFLAGS+= -DATF_INCLUDEDIR='"${INCLUDEDIR}"' Modified: head/lib/atf/tests/Makefile ============================================================================== --- head/lib/atf/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -4,7 +4,7 @@ TESTSDIR= ${TESTSBASE}/lib/atf -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes SUBDIR= test-programs Modified: head/lib/atf/tests/test-programs/Makefile ============================================================================== --- head/lib/atf/tests/test-programs/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/atf/tests/test-programs/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -5,7 +5,7 @@ TESTSDIR= ${TESTSBASE}/lib/atf/test-programs KYUAFILE= yes -ATF= ${.CURDIR:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/test-programs CFLAGS+= -I${ATF} Modified: head/lib/libc/tests/Makefile ============================================================================== --- head/lib/libc/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc - SUBDIR= tls_dso TESTS_SUBDIRS= c063 Modified: head/lib/libc/tests/Makefile.netbsd-tests ============================================================================== --- head/lib/libc/tests/Makefile.netbsd-tests Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/Makefile.netbsd-tests Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,7 @@ # $FreeBSD$ -OBJTOP?= ${.OBJDIR:H:H:H:H} -SRCTOP?= ${.CURDIR:H:H:H:H} -TESTSRC?= ${SRCTOP}/contrib/netbsd-tests/lib/libc/${.CURDIR:T} +TESTSRC:= ${SRCTOP}/contrib/netbsd-tests/${RELDIR:C/libc\/tests/libc/} + +TESTSDIR:= ${TESTSBASE}/${RELDIR:C/libc\/tests/libc/} .include Modified: head/lib/libc/tests/c063/Makefile ============================================================================== --- head/lib/libc/tests/c063/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/c063/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libc/c063 - #TODO: t_o_search NETBSD_ATF_TESTS_C= faccessat Modified: head/lib/libc/tests/db/Makefile ============================================================================== --- head/lib/libc/tests/db/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/db/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libc/db - BINDIR= ${TESTSDIR} PROGS= h_db Modified: head/lib/libc/tests/gen/Makefile ============================================================================== --- head/lib/libc/tests/gen/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/gen/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/gen - ATF_TESTS_C= arc4random_test ATF_TESTS_C+= fpclassify2_test Modified: head/lib/libc/tests/gen/execve/Makefile ============================================================================== --- head/lib/libc/tests/gen/execve/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/gen/execve/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,13 +1,7 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H:H} -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libc/gen/${.CURDIR:T} - .include -TESTSDIR= ${TESTSBASE}/lib/libc/gen/execve - NETBSD_ATF_TESTS_C= execve_test .include "../../Makefile.netbsd-tests" Modified: head/lib/libc/tests/gen/posix_spawn/Makefile ============================================================================== --- head/lib/libc/tests/gen/posix_spawn/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/gen/posix_spawn/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,13 +1,7 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H:H} -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libc/gen/${.CURDIR:T} - .include -TESTSDIR= ${TESTSBASE}/lib/libc/gen/posix_spawn - BINDIR= ${TESTSDIR} NETBSD_ATF_TESTS_C= fileactions_test Modified: head/lib/libc/tests/hash/Makefile ============================================================================== --- head/lib/libc/tests/hash/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/hash/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/hash - NETBSD_ATF_TESTS_C= .if ${MK_OPENSSL} != "no" @@ -29,8 +27,8 @@ LDADD+= -lmd DPADD.sha2_test+= ${LIBCRYPTO} LDADD.sha2_test+= -lcrypto -CFLAGS.sha2_test+= -I${.CURDIR}/../../../../crypto/openssh/openbsd-compat -CFLAGS.sha2_test+= -I${.CURDIR}/../../../../crypto/openssh +CFLAGS.sha2_test+= -I${SRCTOP}/crypto/openssh/openbsd-compat +CFLAGS.sha2_test+= -I${SRCTOP}/crypto/openssh .include "../Makefile.netbsd-tests" Modified: head/lib/libc/tests/inet/Makefile ============================================================================== --- head/lib/libc/tests/inet/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/inet/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/inet - NETBSD_ATF_TESTS_C= inet_network_test .include "../Makefile.netbsd-tests" Modified: head/lib/libc/tests/locale/Makefile ============================================================================== --- head/lib/libc/tests/locale/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/locale/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/locale - NETBSD_ATF_TESTS_C= io_test NETBSD_ATF_TESTS_C+= mbrtowc_test NETBSD_ATF_TESTS_C+= mbstowcs_test Modified: head/lib/libc/tests/net/Makefile ============================================================================== --- head/lib/libc/tests/net/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/net/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/net - BINDIR= ${TESTSDIR} NETBSD_ATF_TESTS_C= getprotoent_test Modified: head/lib/libc/tests/net/getaddrinfo/Makefile ============================================================================== --- head/lib/libc/tests/net/getaddrinfo/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/net/getaddrinfo/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,13 +1,9 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libc/net/${.CURDIR:T} .include -TESTSDIR= ${TESTSBASE}/lib/libc/net/getaddrinfo - BINDIR= ${TESTSDIR} .error "This testcase needs to be ported to FreeBSD (the output from getaddrinfo_test differs from NetBSD)" Modified: head/lib/libc/tests/regex/Makefile ============================================================================== --- head/lib/libc/tests/regex/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/regex/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -4,8 +4,6 @@ BINDIR= ${TESTSDIR} -TESTSDIR= ${TESTSBASE}/lib/libc/regex - IMPLEMENTATION?= -DREGEX_SPENCER CFLAGS.h_regex+=-I${TESTSRC} -I${.CURDIR:H:H}/regex Modified: head/lib/libc/tests/rpc/Makefile ============================================================================== --- head/lib/libc/tests/rpc/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/rpc/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,6 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libc/rpc SRCS.xdr_test= ${RPCSRC:.x=_xdr.c} t_xdr.c ${RPCSRC:.x=.h} NETBSD_ATF_TESTS_C= rpc_test Modified: head/lib/libc/tests/setjmp/Makefile ============================================================================== --- head/lib/libc/tests/setjmp/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/setjmp/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libc/setjmp - NETBSD_ATF_TESTS_C= t_setjmp NETBSD_ATF_TESTS_C+= t_threadjmp @@ -10,4 +8,6 @@ LDADD.t_threadjmp+= -lpthread WARNS?= 4 +.include "../Makefile.netbsd-tests" + .include Modified: head/lib/libc/tests/ssp/Makefile ============================================================================== --- head/lib/libc/tests/ssp/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/ssp/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/ssp - NO_WERROR= WARNS?= 2 Modified: head/lib/libc/tests/stdio/Makefile ============================================================================== --- head/lib/libc/tests/stdio/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/stdio/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libc/stdio - ATF_TESTS_C= fmemopen2_test NETBSD_ATF_TESTS_C= clearerr_test Modified: head/lib/libc/tests/stdlib/Makefile ============================================================================== --- head/lib/libc/tests/stdlib/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/stdlib/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/stdlib - # TODO: t_getenv_thread, t_mi_vector_hash NETBSD_ATF_TESTS_C= abs_test NETBSD_ATF_TESTS_C+= atoi_test Modified: head/lib/libc/tests/string/Makefile ============================================================================== --- head/lib/libc/tests/string/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/string/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/string - # TODO: popcount, stresep NETBSD_ATF_TESTS_C+= memchr Modified: head/lib/libc/tests/sys/Makefile ============================================================================== --- head/lib/libc/tests/sys/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/sys/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/sys - # TODO: clone, lwp_create, lwp_ctl, posix_fadvise, recvmmsg, # swapcontext NETBSD_ATF_TESTS_C+= access_test Modified: head/lib/libc/tests/termios/Makefile ============================================================================== --- head/lib/libc/tests/termios/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/termios/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/termios - NETBSD_ATF_TESTS_C= tcsetpgrp_test .include "../Makefile.netbsd-tests" Modified: head/lib/libc/tests/time/Makefile ============================================================================== --- head/lib/libc/tests/time/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/time/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/time - NETBSD_ATF_TESTS_C= mktime_test NETBSD_ATF_TESTS_C+= strptime_test Modified: head/lib/libc/tests/tls/Makefile ============================================================================== --- head/lib/libc/tests/tls/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/tls/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,7 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/tls .if !defined(NO_PIC) SUBDIR+= dso .endif Modified: head/lib/libc/tests/tls/dso/Makefile ============================================================================== --- head/lib/libc/tests/tls/dso/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/tls/dso/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,6 @@ # $FreeBSD$ OBJTOP= ${.OBJDIR:H:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libc/tls/${.CURDIR:T} LIB= h_tls_dlopen Modified: head/lib/libc/tests/tls_dso/Makefile ============================================================================== --- head/lib/libc/tests/tls_dso/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/tls_dso/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,5 +1,7 @@ # $FreeBSD$ +SRCDIR= ${SRCTOP}/contrib/netbsd/ + .include LIB= h_tls_dynamic Modified: head/lib/libc/tests/ttyio/Makefile ============================================================================== --- head/lib/libc/tests/ttyio/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libc/tests/ttyio/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/lib/libc/ttyio - # TODO: ptm_test NETBSD_ATF_TESTS_C= ttyio_test Modified: head/lib/libcrypt/tests/Makefile ============================================================================== --- head/lib/libcrypt/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libcrypt/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,8 +2,6 @@ # exercise libcrypt -TESTSDIR= ${TESTSBASE}/lib/libcrypt - ATF_TESTS_C= crypt_tests CFLAGS+= -I${.CURDIR:H} Modified: head/lib/libmp/tests/Makefile ============================================================================== --- head/lib/libmp/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libmp/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libmp - TAP_TESTS_C+= legacy_test LIBADD+= mp Modified: head/lib/libnv/tests/Makefile ============================================================================== --- head/lib/libnv/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libnv/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libnv - ATF_TESTS_CXX= \ dnv_tests \ nv_array_tests \ Modified: head/lib/libpam/libpam/tests/Makefile ============================================================================== --- head/lib/libpam/libpam/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libpam/libpam/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,6 +1,6 @@ # $FreeBSD$ -OPENPAM = ${.CURDIR}/../../../../contrib/openpam +OPENPAM= ${SRCTOP}/contrib/openpam .PATH: ${OPENPAM}/t TESTSDIR = ${TESTSBASE}/lib/libpam Modified: head/lib/libproc/tests/Makefile ============================================================================== --- head/lib/libproc/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libproc/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libproc - ATF_TESTS_C+= proc_test PROGS= target_prog @@ -15,7 +13,6 @@ DPADD+= ${LIBELF} ${LIBPROC} ${LIBRTLD_D # for testing symbol lookup. STRIP= -MAN= WARNS?= 6 .include Modified: head/lib/librt/tests/Makefile ============================================================================== --- head/lib/librt/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/librt/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H} -SRCTOP= ${.CURDIR:H:H:H} -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/librt - -TESTSDIR= ${TESTSBASE}/lib/librt - LIBADD= rt NETBSD_ATF_TESTS_C= sched_test Modified: head/lib/libthr/tests/Makefile ============================================================================== --- head/lib/libthr/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libthr/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,7 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H} -SRCTOP= ${.CURDIR:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libpthread -TESTSDIR= ${TESTSBASE}/lib/libthr - # TODO: t_name (missing pthread_getname_np support in FreeBSD) NETBSD_ATF_TESTS_C= barrier_test NETBSD_ATF_TESTS_C+= cond_test Modified: head/lib/libthr/tests/dlopen/Makefile ============================================================================== --- head/lib/libthr/tests/dlopen/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libthr/tests/dlopen/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libpthread/dlopen .include Modified: head/lib/libthr/tests/dlopen/dso/Makefile ============================================================================== --- head/lib/libthr/tests/dlopen/dso/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libthr/tests/dlopen/dso/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,6 @@ # $FreeBSD$ OBJTOP= ${.OBJDIR:H:H:H:H:H} -SRCTOP= ${.CURDIR:H:H:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libpthread/dlopen/dso SHLIB= h_pthread_dlopen Modified: head/lib/libutil/tests/Makefile ============================================================================== --- head/lib/libutil/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/libutil/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/lib/libutil - TAP_TESTS_C+= flopen_test TAP_TESTS_C+= grp_test TAP_TESTS_C+= humanize_number_test Modified: head/lib/msun/tests/Makefile ============================================================================== --- head/lib/msun/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/msun/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,7 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR:H:H:H} -SRCTOP= ${.CURDIR:H:H:H} TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libm -TESTSDIR= ${TESTSBASE}/lib/msun - # All architectures on FreeBSD have fenv.h CFLAGS+= -DHAVE_FENV_H Modified: head/lib/tests/Makefile ============================================================================== --- head/lib/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/lib/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/lib - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/libexec/atf/atf-check/tests/Makefile ============================================================================== --- head/libexec/atf/atf-check/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/libexec/atf/atf-check/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/libexec/atf/atf-check - -ATF= ${.CURDIR:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-sh ATF_TESTS_SH= atf-check_test Modified: head/libexec/atf/atf-sh/tests/Makefile ============================================================================== --- head/libexec/atf/atf-sh/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/libexec/atf/atf-sh/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/libexec/atf/atf-sh - -ATF= ${.CURDIR:H:H:H:H}/contrib/atf +ATF= ${SRCTOP}/contrib/atf .PATH: ${ATF}/atf-sh ATF_TESTS_SH+= atf_check_test Modified: head/libexec/atf/tests/Makefile ============================================================================== --- head/libexec/atf/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/libexec/atf/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/libexec/atf - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/libexec/rtld-elf/tests/Makefile ============================================================================== --- head/libexec/rtld-elf/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/libexec/rtld-elf/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,7 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/libexec/rtld-elf SUBDIR+= libpythagoras target ATF_TESTS_C= ld_library_pathfds Modified: head/libexec/tests/Makefile ============================================================================== --- head/libexec/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/libexec/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/libexec - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/sbin/devd/tests/Makefile ============================================================================== --- head/sbin/devd/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/devd/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/sbin/devd - ATF_TESTS_C= client_test TEST_METADATA.client_test= required_programs="devd" TEST_METADATA.client_test+= required_user="root" Modified: head/sbin/dhclient/tests/Makefile ============================================================================== --- head/sbin/dhclient/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/dhclient/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/sbin/dhclient - .PATH: ${.CURDIR}/.. PLAIN_TESTS_C= option-domain-search_test Modified: head/sbin/growfs/tests/Makefile ============================================================================== --- head/sbin/growfs/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/growfs/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/sbin/growfs - TAP_TESTS_PERL= legacy_test .include Modified: head/sbin/ifconfig/tests/Makefile ============================================================================== --- head/sbin/ifconfig/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/ifconfig/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,11 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR}/../../.. -SRCTOP= ${.CURDIR}/../../.. -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/sbin/ifconfig - -TESTSDIR= ${TESTSBASE}/sbin/ifconfig - NETBSD_ATF_TESTS_SH= nonexistent_test .include Modified: head/sbin/mdconfig/tests/Makefile ============================================================================== --- head/sbin/mdconfig/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/mdconfig/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -1,10 +1,7 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/sbin/mdconfig - ATF_TESTS_SH= mdconfig_test - TEST_METADATA.mdconfig_test+= required_user="root" .include Modified: head/sbin/tests/Makefile ============================================================================== --- head/sbin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/sbin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/sbin - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/secure/lib/tests/Makefile ============================================================================== --- head/secure/lib/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/secure/lib/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/secure/lib - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/secure/libexec/tests/Makefile ============================================================================== --- head/secure/libexec/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/secure/libexec/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/secure/libexec - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/secure/tests/Makefile ============================================================================== --- head/secure/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/secure/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/secure - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/secure/usr.bin/tests/Makefile ============================================================================== --- head/secure/usr.bin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/secure/usr.bin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/secure/usr.bin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: head/secure/usr.sbin/tests/Makefile ============================================================================== --- head/secure/usr.sbin/tests/Makefile Mon Oct 12 07:53:04 2015 (r289171) +++ head/secure/usr.sbin/tests/Makefile Mon Oct 12 08:16:03 2015 (r289172) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/secure/usr.sbin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Oct 12 08:17:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3A37A11AD5; Mon, 12 Oct 2015 08:17:22 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7B1A217E1; Mon, 12 Oct 2015 08:17:22 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C8HLGq001794; Mon, 12 Oct 2015 08:17:21 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C8HLAF001793; Mon, 12 Oct 2015 08:17:21 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201510120817.t9C8HLAF001793@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Mon, 12 Oct 2015 08:17:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289173 - head/sys/dev/usb/wlan X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 08:17:22 -0000 Author: kevlo Date: Mon Oct 12 08:17:21 2015 New Revision: 289173 URL: https://svnweb.freebsd.org/changeset/base/289173 Log: Accept any correct frames from any source when MONITOR mode is used. Submitted by: Andriy Voskoboinyk Differential Revision: https://reviews.freebsd.org/D3812 Modified: head/sys/dev/usb/wlan/if_urtwn.c Modified: head/sys/dev/usb/wlan/if_urtwn.c ============================================================================== --- head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 08:16:03 2015 (r289172) +++ head/sys/dev/usb/wlan/if_urtwn.c Mon Oct 12 08:17:21 2015 (r289173) @@ -1632,6 +1632,19 @@ urtwn_newstate(struct ieee80211vap *vap, /* Enable Rx of data frames. */ urtwn_write_2(sc, R92C_RXFLTMAP2, 0xffff); + /* Enable Rx of ctrl frames. */ + urtwn_write_2(sc, R92C_RXFLTMAP1, 0xffff); + + /* + * Accept data/control/management frames + * from any BSSID. + */ + urtwn_write_4(sc, R92C_RCR, + (urtwn_read_4(sc, R92C_RCR) & ~(R92C_RCR_APM | + R92C_RCR_CBSSID_DATA | R92C_RCR_CBSSID_BCN)) | + R92C_RCR_ADF | R92C_RCR_ACF | R92C_RCR_AMF | + R92C_RCR_AAP); + /* Turn link LED on. */ urtwn_set_led(sc, URTWN_LED_LINK, 1); break; From owner-svn-src-head@freebsd.org Mon Oct 12 09:53:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8334A11E68; Mon, 12 Oct 2015 09:53:57 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D09119CB; Mon, 12 Oct 2015 09:53:57 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9C9rubY039109; Mon, 12 Oct 2015 09:53:56 GMT (envelope-from peter@FreeBSD.org) Received: (from peter@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9C9ruX4039104; Mon, 12 Oct 2015 09:53:56 GMT (envelope-from peter@FreeBSD.org) Message-Id: <201510120953.t9C9ruX4039104@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: peter set sender to peter@FreeBSD.org using -f From: Peter Wemm Date: Mon, 12 Oct 2015 09:53:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289180 - in head: contrib/subversion contrib/subversion/doc/programmer contrib/subversion/doc/user contrib/subversion/subversion contrib/subversion/subversion/include contrib/subversio... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 09:53:57 -0000 Author: peter Date: Mon Oct 12 09:53:55 2015 New Revision: 289180 URL: https://svnweb.freebsd.org/changeset/base/289180 Log: Update from svn-1.8.14 to 1.9.2. Formal release notes are available: https://subversion.apache.org/docs/release-notes/1.9.html Of particular note, the client checkout format has *not* changed so upgrades should *not* be required. When reading a repository (file:// or running as a local server), an improved fsfs version 7 is available with significant performance improvements. An optional upgrade is possible to use the new features. Without the upgrade, this is fully read/write compatible with the version 6 fsfs as in svn-1.8. Relnotes: yes Added: head/contrib/subversion/.ycm_extra_conf.py - copied unchanged from r289178, vendor/subversion/dist/.ycm_extra_conf.py head/contrib/subversion/doc/programmer/gtest-guide.txt - copied unchanged from r289178, vendor/subversion/dist/doc/programmer/gtest-guide.txt head/contrib/subversion/subversion/include/private/svn_client_mtcc.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/private/svn_client_mtcc.h head/contrib/subversion/subversion/include/private/svn_fs_fs_private.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/private/svn_fs_fs_private.h head/contrib/subversion/subversion/include/private/svn_object_pool.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/private/svn_object_pool.h head/contrib/subversion/subversion/include/private/svn_packed_data.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/private/svn_packed_data.h head/contrib/subversion/subversion/include/private/svn_sorts_private.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/private/svn_sorts_private.h head/contrib/subversion/subversion/include/svn_x509.h - copied unchanged from r289178, vendor/subversion/dist/subversion/include/svn_x509.h head/contrib/subversion/subversion/libsvn_auth_gnome_keyring/libsvn_auth_gnome_keyring.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_auth_gnome_keyring/libsvn_auth_gnome_keyring.pc.in head/contrib/subversion/subversion/libsvn_auth_kwallet/libsvn_auth_kwallet.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_auth_kwallet/libsvn_auth_kwallet.pc.in head/contrib/subversion/subversion/libsvn_client/libsvn_client.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_client/libsvn_client.pc.in head/contrib/subversion/subversion/libsvn_client/mtcc.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_client/mtcc.c head/contrib/subversion/subversion/libsvn_delta/libsvn_delta.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_delta/libsvn_delta.pc.in head/contrib/subversion/subversion/libsvn_diff/binary_diff.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_diff/binary_diff.c head/contrib/subversion/subversion/libsvn_diff/libsvn_diff.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_diff/libsvn_diff.pc.in head/contrib/subversion/subversion/libsvn_fs/deprecated.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs/deprecated.c head/contrib/subversion/subversion/libsvn_fs/libsvn_fs.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs/libsvn_fs.pc.in head/contrib/subversion/subversion/libsvn_fs_base/libsvn_fs_base.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_base/libsvn_fs_base.pc.in head/contrib/subversion/subversion/libsvn_fs_fs/cached_data.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c head/contrib/subversion/subversion/libsvn_fs_fs/cached_data.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.h head/contrib/subversion/subversion/libsvn_fs_fs/dump-index.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/dump-index.c head/contrib/subversion/subversion/libsvn_fs_fs/hotcopy.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/hotcopy.c head/contrib/subversion/subversion/libsvn_fs_fs/hotcopy.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/hotcopy.h head/contrib/subversion/subversion/libsvn_fs_fs/index.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/index.c head/contrib/subversion/subversion/libsvn_fs_fs/index.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/index.h head/contrib/subversion/subversion/libsvn_fs_fs/libsvn_fs_fs.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/libsvn_fs_fs.pc.in head/contrib/subversion/subversion/libsvn_fs_fs/load-index.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/load-index.c head/contrib/subversion/subversion/libsvn_fs_fs/low_level.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.c head/contrib/subversion/subversion/libsvn_fs_fs/low_level.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.h head/contrib/subversion/subversion/libsvn_fs_fs/pack.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/pack.c head/contrib/subversion/subversion/libsvn_fs_fs/pack.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/pack.h head/contrib/subversion/subversion/libsvn_fs_fs/recovery.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/recovery.c head/contrib/subversion/subversion/libsvn_fs_fs/recovery.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/recovery.h head/contrib/subversion/subversion/libsvn_fs_fs/rev_file.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/rev_file.c head/contrib/subversion/subversion/libsvn_fs_fs/rev_file.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/rev_file.h head/contrib/subversion/subversion/libsvn_fs_fs/revprops.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/revprops.c head/contrib/subversion/subversion/libsvn_fs_fs/revprops.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/revprops.h head/contrib/subversion/subversion/libsvn_fs_fs/stats.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/stats.c head/contrib/subversion/subversion/libsvn_fs_fs/structure-indexes - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/structure-indexes head/contrib/subversion/subversion/libsvn_fs_fs/transaction.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/transaction.c head/contrib/subversion/subversion/libsvn_fs_fs/transaction.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/transaction.h head/contrib/subversion/subversion/libsvn_fs_fs/util.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/util.c head/contrib/subversion/subversion/libsvn_fs_fs/util.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/util.h head/contrib/subversion/subversion/libsvn_fs_fs/verify.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/verify.c head/contrib/subversion/subversion/libsvn_fs_fs/verify.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_fs/verify.h head/contrib/subversion/subversion/libsvn_fs_util/libsvn_fs_util.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_fs_util/libsvn_fs_util.pc.in head/contrib/subversion/subversion/libsvn_fs_x/ - copied from r289178, vendor/subversion/dist/subversion/libsvn_fs_x/ head/contrib/subversion/subversion/libsvn_ra/libsvn_ra.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra/libsvn_ra.pc.in head/contrib/subversion/subversion/libsvn_ra_local/libsvn_ra_local.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_local/libsvn_ra_local.pc.in head/contrib/subversion/subversion/libsvn_ra_serf/eagain_bucket.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/eagain_bucket.c head/contrib/subversion/subversion/libsvn_ra_serf/get_file.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/get_file.c head/contrib/subversion/subversion/libsvn_ra_serf/get_lock.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/get_lock.c head/contrib/subversion/subversion/libsvn_ra_serf/libsvn_ra_serf.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/libsvn_ra_serf.pc.in head/contrib/subversion/subversion/libsvn_ra_serf/lock.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/lock.c head/contrib/subversion/subversion/libsvn_ra_serf/multistatus.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/multistatus.c head/contrib/subversion/subversion/libsvn_ra_serf/stat.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_serf/stat.c head/contrib/subversion/subversion/libsvn_ra_svn/libsvn_ra_svn.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_ra_svn/libsvn_ra_svn.pc.in head/contrib/subversion/subversion/libsvn_repos/authz_pool.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_repos/authz_pool.c head/contrib/subversion/subversion/libsvn_repos/config_pool.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_repos/config_pool.c head/contrib/subversion/subversion/libsvn_repos/libsvn_repos.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_repos/libsvn_repos.pc.in head/contrib/subversion/subversion/libsvn_subr/bit_array.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/bit_array.c head/contrib/subversion/subversion/libsvn_subr/checksum.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/checksum.h head/contrib/subversion/subversion/libsvn_subr/compress.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/compress.c head/contrib/subversion/subversion/libsvn_subr/config_keys.inc - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/config_keys.inc head/contrib/subversion/subversion/libsvn_subr/errorcode.inc - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/errorcode.inc head/contrib/subversion/subversion/libsvn_subr/fnv1a.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/fnv1a.c head/contrib/subversion/subversion/libsvn_subr/fnv1a.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/fnv1a.h head/contrib/subversion/subversion/libsvn_subr/libsvn_subr.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/libsvn_subr.pc.in head/contrib/subversion/subversion/libsvn_subr/object_pool.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/object_pool.c head/contrib/subversion/subversion/libsvn_subr/packed_data.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/packed_data.c head/contrib/subversion/subversion/libsvn_subr/prefix_string.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/prefix_string.c head/contrib/subversion/subversion/libsvn_subr/root_pools.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/root_pools.c head/contrib/subversion/subversion/libsvn_subr/utf8proc/ - copied from r289178, vendor/subversion/dist/subversion/libsvn_subr/utf8proc/ head/contrib/subversion/subversion/libsvn_subr/utf8proc.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/utf8proc.c head/contrib/subversion/subversion/libsvn_subr/x509.h - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/x509.h head/contrib/subversion/subversion/libsvn_subr/x509info.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/x509info.c head/contrib/subversion/subversion/libsvn_subr/x509parse.c - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_subr/x509parse.c head/contrib/subversion/subversion/libsvn_wc/libsvn_wc.pc.in - copied unchanged from r289178, vendor/subversion/dist/subversion/libsvn_wc/libsvn_wc.pc.in head/contrib/subversion/subversion/svn/auth-cmd.c - copied unchanged from r289178, vendor/subversion/dist/subversion/svn/auth-cmd.c head/contrib/subversion/subversion/svn/cl-log.h - copied unchanged from r289178, vendor/subversion/dist/subversion/svn/cl-log.h head/contrib/subversion/subversion/svn/similarity.c - copied unchanged from r289178, vendor/subversion/dist/subversion/svn/similarity.c head/contrib/subversion/subversion/svnbench/ - copied from r289178, vendor/subversion/dist/subversion/svnbench/ head/contrib/subversion/subversion/svnfsfs/ - copied from r289178, vendor/subversion/dist/subversion/svnfsfs/ head/contrib/subversion/subversion/svnserve/logger.c - copied unchanged from r289178, vendor/subversion/dist/subversion/svnserve/logger.c head/contrib/subversion/subversion/svnserve/logger.h - copied unchanged from r289178, vendor/subversion/dist/subversion/svnserve/logger.h head/usr.bin/svn/lib/libsvn_fs_x/ - copied from r289178, head/usr.bin/svn/lib/libsvn_fs_fs/ head/usr.bin/svn/svnbench/ - copied from r289178, head/usr.bin/svn/svn/ head/usr.bin/svn/svnfsfs/ - copied from r289178, head/usr.bin/svn/svnadmin/ Deleted: head/contrib/subversion/subversion/include/private/svn_named_atomic.h head/contrib/subversion/subversion/include/private/svn_pseudo_md5.h head/contrib/subversion/subversion/libsvn_fs_fs/key-gen.c head/contrib/subversion/subversion/libsvn_fs_fs/key-gen.h head/contrib/subversion/subversion/libsvn_ra_serf/locks.c head/contrib/subversion/subversion/libsvn_subr/md5.h head/contrib/subversion/subversion/libsvn_subr/named_atomic.c head/contrib/subversion/subversion/libsvn_subr/pseudo_md5.c head/contrib/subversion/subversion/libsvn_subr/sha1.c head/contrib/subversion/subversion/libsvn_subr/sha1.h head/contrib/subversion/subversion/svn/client_errors.h Modified: head/contrib/subversion/CHANGES head/contrib/subversion/COMMITTERS head/contrib/subversion/INSTALL head/contrib/subversion/LICENSE head/contrib/subversion/Makefile.in head/contrib/subversion/NOTICE head/contrib/subversion/autogen.sh head/contrib/subversion/build-outputs.mk head/contrib/subversion/build.conf head/contrib/subversion/configure head/contrib/subversion/configure.ac head/contrib/subversion/doc/user/svn-best-practices.html head/contrib/subversion/gen-make.py head/contrib/subversion/get-deps.sh head/contrib/subversion/subversion/include/mod_dav_svn.h head/contrib/subversion/subversion/include/private/svn_atomic.h head/contrib/subversion/subversion/include/private/svn_auth_private.h head/contrib/subversion/subversion/include/private/svn_cache.h head/contrib/subversion/subversion/include/private/svn_client_private.h head/contrib/subversion/subversion/include/private/svn_cmdline_private.h head/contrib/subversion/subversion/include/private/svn_delta_private.h head/contrib/subversion/subversion/include/private/svn_dep_compat.h head/contrib/subversion/subversion/include/private/svn_diff_private.h head/contrib/subversion/subversion/include/private/svn_diff_tree.h head/contrib/subversion/subversion/include/private/svn_editor.h head/contrib/subversion/subversion/include/private/svn_error_private.h head/contrib/subversion/subversion/include/private/svn_fs_private.h head/contrib/subversion/subversion/include/private/svn_fs_util.h head/contrib/subversion/subversion/include/private/svn_io_private.h head/contrib/subversion/subversion/include/private/svn_log.h head/contrib/subversion/subversion/include/private/svn_magic.h head/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h head/contrib/subversion/subversion/include/private/svn_mutex.h head/contrib/subversion/subversion/include/private/svn_opt_private.h head/contrib/subversion/subversion/include/private/svn_ra_private.h head/contrib/subversion/subversion/include/private/svn_ra_svn_private.h head/contrib/subversion/subversion/include/private/svn_repos_private.h head/contrib/subversion/subversion/include/private/svn_sqlite.h head/contrib/subversion/subversion/include/private/svn_string_private.h head/contrib/subversion/subversion/include/private/svn_subr_private.h head/contrib/subversion/subversion/include/private/svn_temp_serializer.h head/contrib/subversion/subversion/include/private/svn_utf_private.h head/contrib/subversion/subversion/include/private/svn_wc_private.h head/contrib/subversion/subversion/include/svn_auth.h head/contrib/subversion/subversion/include/svn_cache_config.h head/contrib/subversion/subversion/include/svn_checksum.h head/contrib/subversion/subversion/include/svn_client.h head/contrib/subversion/subversion/include/svn_cmdline.h head/contrib/subversion/subversion/include/svn_compat.h head/contrib/subversion/subversion/include/svn_config.h head/contrib/subversion/subversion/include/svn_delta.h head/contrib/subversion/subversion/include/svn_diff.h head/contrib/subversion/subversion/include/svn_dirent_uri.h head/contrib/subversion/subversion/include/svn_error.h head/contrib/subversion/subversion/include/svn_error_codes.h head/contrib/subversion/subversion/include/svn_fs.h head/contrib/subversion/subversion/include/svn_hash.h head/contrib/subversion/subversion/include/svn_io.h head/contrib/subversion/subversion/include/svn_iter.h head/contrib/subversion/subversion/include/svn_mergeinfo.h head/contrib/subversion/subversion/include/svn_opt.h head/contrib/subversion/subversion/include/svn_path.h head/contrib/subversion/subversion/include/svn_props.h head/contrib/subversion/subversion/include/svn_ra.h head/contrib/subversion/subversion/include/svn_ra_svn.h head/contrib/subversion/subversion/include/svn_repos.h head/contrib/subversion/subversion/include/svn_sorts.h head/contrib/subversion/subversion/include/svn_string.h head/contrib/subversion/subversion/include/svn_types.h head/contrib/subversion/subversion/include/svn_version.h head/contrib/subversion/subversion/include/svn_wc.h head/contrib/subversion/subversion/include/svn_xml.h head/contrib/subversion/subversion/libsvn_auth_kwallet/kwallet.cpp head/contrib/subversion/subversion/libsvn_client/add.c head/contrib/subversion/subversion/libsvn_client/blame.c head/contrib/subversion/subversion/libsvn_client/cat.c head/contrib/subversion/subversion/libsvn_client/checkout.c head/contrib/subversion/subversion/libsvn_client/cleanup.c head/contrib/subversion/subversion/libsvn_client/client.h head/contrib/subversion/subversion/libsvn_client/cmdline.c head/contrib/subversion/subversion/libsvn_client/commit.c head/contrib/subversion/subversion/libsvn_client/commit_util.c head/contrib/subversion/subversion/libsvn_client/compat_providers.c head/contrib/subversion/subversion/libsvn_client/copy.c head/contrib/subversion/subversion/libsvn_client/copy_foreign.c head/contrib/subversion/subversion/libsvn_client/ctx.c head/contrib/subversion/subversion/libsvn_client/delete.c head/contrib/subversion/subversion/libsvn_client/deprecated.c head/contrib/subversion/subversion/libsvn_client/diff.c head/contrib/subversion/subversion/libsvn_client/diff_local.c head/contrib/subversion/subversion/libsvn_client/diff_summarize.c head/contrib/subversion/subversion/libsvn_client/export.c head/contrib/subversion/subversion/libsvn_client/externals.c head/contrib/subversion/subversion/libsvn_client/import.c head/contrib/subversion/subversion/libsvn_client/info.c head/contrib/subversion/subversion/libsvn_client/iprops.c head/contrib/subversion/subversion/libsvn_client/list.c head/contrib/subversion/subversion/libsvn_client/locking_commands.c head/contrib/subversion/subversion/libsvn_client/log.c head/contrib/subversion/subversion/libsvn_client/merge.c head/contrib/subversion/subversion/libsvn_client/mergeinfo.c head/contrib/subversion/subversion/libsvn_client/mergeinfo.h head/contrib/subversion/subversion/libsvn_client/patch.c head/contrib/subversion/subversion/libsvn_client/prop_commands.c head/contrib/subversion/subversion/libsvn_client/ra.c head/contrib/subversion/subversion/libsvn_client/relocate.c head/contrib/subversion/subversion/libsvn_client/repos_diff.c head/contrib/subversion/subversion/libsvn_client/resolved.c head/contrib/subversion/subversion/libsvn_client/revert.c head/contrib/subversion/subversion/libsvn_client/revisions.c head/contrib/subversion/subversion/libsvn_client/status.c head/contrib/subversion/subversion/libsvn_client/switch.c head/contrib/subversion/subversion/libsvn_client/update.c head/contrib/subversion/subversion/libsvn_client/upgrade.c head/contrib/subversion/subversion/libsvn_client/util.c head/contrib/subversion/subversion/libsvn_delta/compat.c head/contrib/subversion/subversion/libsvn_delta/compose_delta.c head/contrib/subversion/subversion/libsvn_delta/debug_editor.c head/contrib/subversion/subversion/libsvn_delta/debug_editor.h head/contrib/subversion/subversion/libsvn_delta/editor.c head/contrib/subversion/subversion/libsvn_delta/path_driver.c head/contrib/subversion/subversion/libsvn_delta/svndiff.c head/contrib/subversion/subversion/libsvn_delta/text_delta.c head/contrib/subversion/subversion/libsvn_delta/xdelta.c head/contrib/subversion/subversion/libsvn_diff/deprecated.c head/contrib/subversion/subversion/libsvn_diff/diff4.c head/contrib/subversion/subversion/libsvn_diff/diff_file.c head/contrib/subversion/subversion/libsvn_diff/diff_memory.c head/contrib/subversion/subversion/libsvn_diff/lcs.c head/contrib/subversion/subversion/libsvn_diff/parse-diff.c head/contrib/subversion/subversion/libsvn_diff/util.c head/contrib/subversion/subversion/libsvn_fs/access.c head/contrib/subversion/subversion/libsvn_fs/editor.c head/contrib/subversion/subversion/libsvn_fs/fs-loader.c head/contrib/subversion/subversion/libsvn_fs/fs-loader.h head/contrib/subversion/subversion/libsvn_fs_base/bdb/changes-table.c head/contrib/subversion/subversion/libsvn_fs_base/bdb/locks-table.c head/contrib/subversion/subversion/libsvn_fs_base/bdb/strings-table.c head/contrib/subversion/subversion/libsvn_fs_base/dag.c head/contrib/subversion/subversion/libsvn_fs_base/dag.h head/contrib/subversion/subversion/libsvn_fs_base/fs.c head/contrib/subversion/subversion/libsvn_fs_base/fs.h head/contrib/subversion/subversion/libsvn_fs_base/id.c head/contrib/subversion/subversion/libsvn_fs_base/id.h head/contrib/subversion/subversion/libsvn_fs_base/key-gen.c head/contrib/subversion/subversion/libsvn_fs_base/key-gen.h head/contrib/subversion/subversion/libsvn_fs_base/lock.c head/contrib/subversion/subversion/libsvn_fs_base/lock.h head/contrib/subversion/subversion/libsvn_fs_base/reps-strings.c head/contrib/subversion/subversion/libsvn_fs_base/revs-txns.c head/contrib/subversion/subversion/libsvn_fs_base/tree.c head/contrib/subversion/subversion/libsvn_fs_fs/caching.c head/contrib/subversion/subversion/libsvn_fs_fs/dag.c head/contrib/subversion/subversion/libsvn_fs_fs/dag.h head/contrib/subversion/subversion/libsvn_fs_fs/fs.c head/contrib/subversion/subversion/libsvn_fs_fs/fs.h head/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c head/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.h head/contrib/subversion/subversion/libsvn_fs_fs/id.c head/contrib/subversion/subversion/libsvn_fs_fs/id.h head/contrib/subversion/subversion/libsvn_fs_fs/lock.c head/contrib/subversion/subversion/libsvn_fs_fs/lock.h head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.sql head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.h head/contrib/subversion/subversion/libsvn_fs_fs/structure head/contrib/subversion/subversion/libsvn_fs_fs/temp_serializer.c head/contrib/subversion/subversion/libsvn_fs_fs/temp_serializer.h head/contrib/subversion/subversion/libsvn_fs_fs/tree.c head/contrib/subversion/subversion/libsvn_fs_fs/tree.h head/contrib/subversion/subversion/libsvn_fs_util/fs-util.c head/contrib/subversion/subversion/libsvn_ra/compat.c head/contrib/subversion/subversion/libsvn_ra/ra_loader.c head/contrib/subversion/subversion/libsvn_ra/ra_loader.h head/contrib/subversion/subversion/libsvn_ra/wrapper_template.h head/contrib/subversion/subversion/libsvn_ra_local/ra_local.h head/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c head/contrib/subversion/subversion/libsvn_ra_local/split_url.c head/contrib/subversion/subversion/libsvn_ra_serf/README head/contrib/subversion/subversion/libsvn_ra_serf/blame.c head/contrib/subversion/subversion/libsvn_ra_serf/blncache.c head/contrib/subversion/subversion/libsvn_ra_serf/blncache.h head/contrib/subversion/subversion/libsvn_ra_serf/commit.c head/contrib/subversion/subversion/libsvn_ra_serf/get_deleted_rev.c head/contrib/subversion/subversion/libsvn_ra_serf/getdate.c head/contrib/subversion/subversion/libsvn_ra_serf/getlocations.c head/contrib/subversion/subversion/libsvn_ra_serf/getlocationsegments.c head/contrib/subversion/subversion/libsvn_ra_serf/getlocks.c head/contrib/subversion/subversion/libsvn_ra_serf/inherited_props.c head/contrib/subversion/subversion/libsvn_ra_serf/log.c head/contrib/subversion/subversion/libsvn_ra_serf/merge.c head/contrib/subversion/subversion/libsvn_ra_serf/mergeinfo.c head/contrib/subversion/subversion/libsvn_ra_serf/options.c head/contrib/subversion/subversion/libsvn_ra_serf/property.c head/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h head/contrib/subversion/subversion/libsvn_ra_serf/replay.c head/contrib/subversion/subversion/libsvn_ra_serf/serf.c head/contrib/subversion/subversion/libsvn_ra_serf/update.c head/contrib/subversion/subversion/libsvn_ra_serf/util.c head/contrib/subversion/subversion/libsvn_ra_serf/util_error.c head/contrib/subversion/subversion/libsvn_ra_serf/xml.c head/contrib/subversion/subversion/libsvn_ra_svn/client.c head/contrib/subversion/subversion/libsvn_ra_svn/cram.c head/contrib/subversion/subversion/libsvn_ra_svn/cyrus_auth.c head/contrib/subversion/subversion/libsvn_ra_svn/deprecated.c head/contrib/subversion/subversion/libsvn_ra_svn/editorp.c head/contrib/subversion/subversion/libsvn_ra_svn/internal_auth.c head/contrib/subversion/subversion/libsvn_ra_svn/marshal.c head/contrib/subversion/subversion/libsvn_ra_svn/protocol head/contrib/subversion/subversion/libsvn_ra_svn/ra_svn.h head/contrib/subversion/subversion/libsvn_ra_svn/streams.c head/contrib/subversion/subversion/libsvn_repos/authz.c head/contrib/subversion/subversion/libsvn_repos/commit.c head/contrib/subversion/subversion/libsvn_repos/delta.c head/contrib/subversion/subversion/libsvn_repos/deprecated.c head/contrib/subversion/subversion/libsvn_repos/dump.c head/contrib/subversion/subversion/libsvn_repos/fs-wrap.c head/contrib/subversion/subversion/libsvn_repos/hooks.c head/contrib/subversion/subversion/libsvn_repos/load-fs-vtable.c head/contrib/subversion/subversion/libsvn_repos/load.c head/contrib/subversion/subversion/libsvn_repos/log.c head/contrib/subversion/subversion/libsvn_repos/replay.c head/contrib/subversion/subversion/libsvn_repos/reporter.c head/contrib/subversion/subversion/libsvn_repos/repos.c head/contrib/subversion/subversion/libsvn_repos/repos.h head/contrib/subversion/subversion/libsvn_repos/rev_hunt.c head/contrib/subversion/subversion/libsvn_subr/adler32.c head/contrib/subversion/subversion/libsvn_subr/auth.c head/contrib/subversion/subversion/libsvn_subr/auth.h head/contrib/subversion/subversion/libsvn_subr/cache-inprocess.c head/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c head/contrib/subversion/subversion/libsvn_subr/cache-memcache.c head/contrib/subversion/subversion/libsvn_subr/cache.c head/contrib/subversion/subversion/libsvn_subr/cache.h head/contrib/subversion/subversion/libsvn_subr/cache_config.c head/contrib/subversion/subversion/libsvn_subr/checksum.c head/contrib/subversion/subversion/libsvn_subr/cmdline.c head/contrib/subversion/subversion/libsvn_subr/compat.c head/contrib/subversion/subversion/libsvn_subr/config.c head/contrib/subversion/subversion/libsvn_subr/config_auth.c head/contrib/subversion/subversion/libsvn_subr/config_file.c head/contrib/subversion/subversion/libsvn_subr/config_impl.h head/contrib/subversion/subversion/libsvn_subr/config_win.c head/contrib/subversion/subversion/libsvn_subr/ctype.c head/contrib/subversion/subversion/libsvn_subr/debug.c head/contrib/subversion/subversion/libsvn_subr/deprecated.c head/contrib/subversion/subversion/libsvn_subr/dirent_uri.c head/contrib/subversion/subversion/libsvn_subr/dso.c head/contrib/subversion/subversion/libsvn_subr/eol.c head/contrib/subversion/subversion/libsvn_subr/error.c head/contrib/subversion/subversion/libsvn_subr/gpg_agent.c head/contrib/subversion/subversion/libsvn_subr/hash.c head/contrib/subversion/subversion/libsvn_subr/internal_statements.h head/contrib/subversion/subversion/libsvn_subr/io.c head/contrib/subversion/subversion/libsvn_subr/iter.c head/contrib/subversion/subversion/libsvn_subr/log.c head/contrib/subversion/subversion/libsvn_subr/macos_keychain.c head/contrib/subversion/subversion/libsvn_subr/magic.c head/contrib/subversion/subversion/libsvn_subr/md5.c head/contrib/subversion/subversion/libsvn_subr/mergeinfo.c head/contrib/subversion/subversion/libsvn_subr/mutex.c head/contrib/subversion/subversion/libsvn_subr/nls.c head/contrib/subversion/subversion/libsvn_subr/opt.c head/contrib/subversion/subversion/libsvn_subr/path.c head/contrib/subversion/subversion/libsvn_subr/pool.c head/contrib/subversion/subversion/libsvn_subr/prompt.c head/contrib/subversion/subversion/libsvn_subr/simple_providers.c head/contrib/subversion/subversion/libsvn_subr/sorts.c head/contrib/subversion/subversion/libsvn_subr/spillbuf.c head/contrib/subversion/subversion/libsvn_subr/sqlite.c head/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c head/contrib/subversion/subversion/libsvn_subr/ssl_client_cert_providers.c head/contrib/subversion/subversion/libsvn_subr/ssl_client_cert_pw_providers.c head/contrib/subversion/subversion/libsvn_subr/ssl_server_trust_providers.c head/contrib/subversion/subversion/libsvn_subr/stream.c head/contrib/subversion/subversion/libsvn_subr/string.c head/contrib/subversion/subversion/libsvn_subr/subst.c head/contrib/subversion/subversion/libsvn_subr/sysinfo.c head/contrib/subversion/subversion/libsvn_subr/sysinfo.h head/contrib/subversion/subversion/libsvn_subr/temp_serializer.c head/contrib/subversion/subversion/libsvn_subr/time.c head/contrib/subversion/subversion/libsvn_subr/types.c head/contrib/subversion/subversion/libsvn_subr/username_providers.c head/contrib/subversion/subversion/libsvn_subr/utf.c head/contrib/subversion/subversion/libsvn_subr/utf_validate.c head/contrib/subversion/subversion/libsvn_subr/utf_width.c head/contrib/subversion/subversion/libsvn_subr/version.c head/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c head/contrib/subversion/subversion/libsvn_subr/win32_crypto.c head/contrib/subversion/subversion/libsvn_subr/win32_xlate.c head/contrib/subversion/subversion/libsvn_subr/win32_xlate.h head/contrib/subversion/subversion/libsvn_subr/xml.c head/contrib/subversion/subversion/libsvn_wc/adm_crawler.c head/contrib/subversion/subversion/libsvn_wc/adm_files.c head/contrib/subversion/subversion/libsvn_wc/adm_files.h head/contrib/subversion/subversion/libsvn_wc/adm_ops.c head/contrib/subversion/subversion/libsvn_wc/cleanup.c head/contrib/subversion/subversion/libsvn_wc/conflicts.c head/contrib/subversion/subversion/libsvn_wc/conflicts.h head/contrib/subversion/subversion/libsvn_wc/copy.c head/contrib/subversion/subversion/libsvn_wc/crop.c head/contrib/subversion/subversion/libsvn_wc/delete.c head/contrib/subversion/subversion/libsvn_wc/deprecated.c head/contrib/subversion/subversion/libsvn_wc/diff.h head/contrib/subversion/subversion/libsvn_wc/diff_editor.c head/contrib/subversion/subversion/libsvn_wc/diff_local.c head/contrib/subversion/subversion/libsvn_wc/entries.c head/contrib/subversion/subversion/libsvn_wc/externals.c head/contrib/subversion/subversion/libsvn_wc/info.c head/contrib/subversion/subversion/libsvn_wc/lock.c head/contrib/subversion/subversion/libsvn_wc/merge.c head/contrib/subversion/subversion/libsvn_wc/node.c head/contrib/subversion/subversion/libsvn_wc/old-and-busted.c head/contrib/subversion/subversion/libsvn_wc/props.c head/contrib/subversion/subversion/libsvn_wc/props.h head/contrib/subversion/subversion/libsvn_wc/questions.c head/contrib/subversion/subversion/libsvn_wc/relocate.c head/contrib/subversion/subversion/libsvn_wc/revert.c head/contrib/subversion/subversion/libsvn_wc/revision_status.c head/contrib/subversion/subversion/libsvn_wc/status.c head/contrib/subversion/subversion/libsvn_wc/token-map.h head/contrib/subversion/subversion/libsvn_wc/translate.c head/contrib/subversion/subversion/libsvn_wc/tree_conflicts.c head/contrib/subversion/subversion/libsvn_wc/update_editor.c head/contrib/subversion/subversion/libsvn_wc/upgrade.c head/contrib/subversion/subversion/libsvn_wc/util.c head/contrib/subversion/subversion/libsvn_wc/wc-checks.h head/contrib/subversion/subversion/libsvn_wc/wc-checks.sql head/contrib/subversion/subversion/libsvn_wc/wc-metadata.h head/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql head/contrib/subversion/subversion/libsvn_wc/wc-queries.h head/contrib/subversion/subversion/libsvn_wc/wc-queries.sql head/contrib/subversion/subversion/libsvn_wc/wc.h head/contrib/subversion/subversion/libsvn_wc/wc_db.c head/contrib/subversion/subversion/libsvn_wc/wc_db.h head/contrib/subversion/subversion/libsvn_wc/wc_db_pristine.c head/contrib/subversion/subversion/libsvn_wc/wc_db_private.h head/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c head/contrib/subversion/subversion/libsvn_wc/wc_db_util.c head/contrib/subversion/subversion/libsvn_wc/wc_db_wcroot.c head/contrib/subversion/subversion/libsvn_wc/workqueue.c head/contrib/subversion/subversion/libsvn_wc/workqueue.h head/contrib/subversion/subversion/svn/add-cmd.c head/contrib/subversion/subversion/svn/blame-cmd.c head/contrib/subversion/subversion/svn/cat-cmd.c head/contrib/subversion/subversion/svn/changelist-cmd.c head/contrib/subversion/subversion/svn/checkout-cmd.c head/contrib/subversion/subversion/svn/cl-conflicts.c head/contrib/subversion/subversion/svn/cl-conflicts.h head/contrib/subversion/subversion/svn/cl.h head/contrib/subversion/subversion/svn/cleanup-cmd.c head/contrib/subversion/subversion/svn/commit-cmd.c head/contrib/subversion/subversion/svn/conflict-callbacks.c head/contrib/subversion/subversion/svn/copy-cmd.c head/contrib/subversion/subversion/svn/diff-cmd.c head/contrib/subversion/subversion/svn/export-cmd.c head/contrib/subversion/subversion/svn/file-merge.c head/contrib/subversion/subversion/svn/help-cmd.c head/contrib/subversion/subversion/svn/info-cmd.c head/contrib/subversion/subversion/svn/list-cmd.c head/contrib/subversion/subversion/svn/log-cmd.c head/contrib/subversion/subversion/svn/merge-cmd.c head/contrib/subversion/subversion/svn/mergeinfo-cmd.c head/contrib/subversion/subversion/svn/notify.c head/contrib/subversion/subversion/svn/propget-cmd.c head/contrib/subversion/subversion/svn/proplist-cmd.c head/contrib/subversion/subversion/svn/props.c head/contrib/subversion/subversion/svn/resolve-cmd.c head/contrib/subversion/subversion/svn/revert-cmd.c head/contrib/subversion/subversion/svn/status-cmd.c head/contrib/subversion/subversion/svn/status.c head/contrib/subversion/subversion/svn/svn.c head/contrib/subversion/subversion/svn/util.c head/contrib/subversion/subversion/svn_private_config.h.in head/contrib/subversion/subversion/svn_private_config.hw head/contrib/subversion/subversion/svnadmin/svnadmin.c head/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c head/contrib/subversion/subversion/svnlook/svnlook.c head/contrib/subversion/subversion/svnmucc/svnmucc.c head/contrib/subversion/subversion/svnrdump/dump_editor.c head/contrib/subversion/subversion/svnrdump/load_editor.c head/contrib/subversion/subversion/svnrdump/svnrdump.c head/contrib/subversion/subversion/svnrdump/svnrdump.h head/contrib/subversion/subversion/svnrdump/util.c head/contrib/subversion/subversion/svnserve/cyrus_auth.c head/contrib/subversion/subversion/svnserve/serve.c head/contrib/subversion/subversion/svnserve/server.h head/contrib/subversion/subversion/svnserve/svnserve.c head/contrib/subversion/subversion/svnsync/svnsync.c head/contrib/subversion/subversion/svnsync/sync.c head/contrib/subversion/subversion/svnversion/svnversion.c head/contrib/subversion/win-tests.py head/usr.bin/svn/Makefile head/usr.bin/svn/Makefile.inc head/usr.bin/svn/lib/Makefile head/usr.bin/svn/lib/libsvn_client/Makefile head/usr.bin/svn/lib/libsvn_diff/Makefile head/usr.bin/svn/lib/libsvn_fs/Makefile head/usr.bin/svn/lib/libsvn_fs_fs/Makefile head/usr.bin/svn/lib/libsvn_fs_x/Makefile head/usr.bin/svn/lib/libsvn_ra_serf/Makefile head/usr.bin/svn/lib/libsvn_repos/Makefile head/usr.bin/svn/lib/libsvn_subr/Makefile head/usr.bin/svn/svn/Makefile head/usr.bin/svn/svn_private_config.h head/usr.bin/svn/svnadmin/Makefile head/usr.bin/svn/svnbench/Makefile head/usr.bin/svn/svndumpfilter/Makefile head/usr.bin/svn/svnfsfs/Makefile head/usr.bin/svn/svnlook/Makefile head/usr.bin/svn/svnmucc/Makefile head/usr.bin/svn/svnrdump/Makefile head/usr.bin/svn/svnserve/Makefile head/usr.bin/svn/svnsync/Makefile Directory Properties: head/contrib/subversion/ (props changed) Copied: head/contrib/subversion/.ycm_extra_conf.py (from r289178, vendor/subversion/dist/.ycm_extra_conf.py) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/subversion/.ycm_extra_conf.py Mon Oct 12 09:53:55 2015 (r289180, copy of r289178, vendor/subversion/dist/.ycm_extra_conf.py) @@ -0,0 +1,88 @@ +# Configuration file for YouCompleteMe vim plugin to allow the plugin +# to determine the compile flags. This file is based on: +# https://github.com/Valloric/YouCompleteMe/blob/master/cpp/ycm/.ycm_extra_conf.py +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# For more information, please refer to + +import os +import ycm_core +from clang_helpers import PrepareClangFlags + +compilation_database_folder = os.path.dirname(os.path.realpath(__file__)) + +if compilation_database_folder: + database = ycm_core.CompilationDatabase( compilation_database_folder ) +else: + database = None + +def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): + if not working_directory: + return flags + new_flags = [] + make_next_absolute = False + path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] + for flag in flags: + new_flag = flag + + if make_next_absolute: + make_next_absolute = False + if not flag.startswith( '/' ): + new_flag = os.path.join( working_directory, flag ) + + for path_flag in path_flags: + if flag == path_flag: + make_next_absolute = True + break + + if flag.startswith( path_flag ): + path = flag[ len( path_flag ): ] + new_flag = path_flag + os.path.join( working_directory, path ) + break + + if new_flag: + new_flags.append( new_flag ) + return new_flags + + +def FlagsForFile( filename ): + if database: + # Bear in mind that compilation_info.compiler_flags_ does NOT return a + # python list, but a "list-like" StringVec object + compilation_info = database.GetCompilationInfoForFile( filename ) + final_flags = PrepareClangFlags( + MakeRelativePathsInFlagsAbsolute( + compilation_info.compiler_flags_, + compilation_info.compiler_working_dir_ ), + filename ) + do_cache = True + else: + final_flags = [ ] + do_cache = False + + return { + 'flags': final_flags, + 'do_cache': do_cache + } Modified: head/contrib/subversion/CHANGES ============================================================================== --- head/contrib/subversion/CHANGES Mon Oct 12 09:13:47 2015 (r289179) +++ head/contrib/subversion/CHANGES Mon Oct 12 09:53:55 2015 (r289180) @@ -1,3 +1,799 @@ +Version 1.9.2 +(30 Sep 2015, from /branches/1.9.x) +http://svn.apache.org/repos/asf/subversion/tags/1.9.2 + + User-visible changes: + - Client-side bugfixes: + * svn: fix crash when saving credentials in kwallet (r1700740, r1700951) + * checkout/update: fix "access denied" error on Windows (r1701064 et al) + * update: fix crash when updating a conflicted tree (r1702198, r1702200) + * commit: fix possible crash (r1702231) + * ra_serf: do not crash on unexpected 'X-SVN-VR-Base' headers (r1702288) + * merge: fix crash when merging to a local add (r1702299 et al) + * svnmucc: fix error during propset+put for existing file (r1702467 et al) + * update: fix crash without .svn/tmp folder (r1701838, r1702203) + * checkout: remove unnecessary I/O operation (r1701638) + * merge: fix possible crash (r1701997) + * update: fix crash with some of the incoming deletes (r1702247) + * upgrade: fix crash for pre-1.3 wc with externals (r1702218 et al) + * revert: fix crash when reverting the root of a move (r1702237 et al) + * svn: do not crash upon specific database corruptions (r1702974, r1702991) + * svn: show utf8proc version in svn --version --verbose (r1702533, r1702891) + + - Server-side bugfixes: + * fix reporting for empty representations in svnfsfs stats (r1698312 et al) + + Developer-visible changes: + - General: + * fix svnfsfs_tests.py in fsfs-v4 and fsfs-v6 modes (r1700215 et al) + + - API changes: + * disable unsupported operations for standard streams (r1701633 et al) + + +Version 1.9.1 +(02 Sep 2015, from /branches/1.9.x) +http://svn.apache.org/repos/asf/subversion/tags/1.9.1 + + User-visible changes: + - Client-side bugfixes: + * Fix crash with GPG-agent with non-canonical $HOME (r1691928, issue #4584) + * Fix checkout errors with svn+ssh:// on Windows (r1696222, r1696225) + * svn: expose expat and zlib versions in svn --version --verbose (r1696387, r1697664) + * svn: improve help text for 'svn info --show-item' (r1698106) + + - Server-side bugfixes: + * svnserve: fixed minor typo in help text (r1694023) + * Enable caching with memcached on Windows (1674626, r1674785) + * Fix an error leak in FSFS verification (r1693886) + * Fix incomplete membuffer cache initialization (r1695022) + * svnfsfs: fix some bugs and inconsistencies in load-index (r1697381 et al.) + + - Client-side and server-side bugfixes: + * Fix alignment fault in ra_svn on 32 bit SPARC machines (r1697914) + + - Bindings bugfixes: + * Fix memory corruption in copy source SWIG bindings (r1694929) + + Developer-visible changes: + * Better configure-time detection of httpd version and authz fix (r1687304 et al.) + * Correct a parameter name in svn_repos_get_fs_build_parser5 (r1694194) + * Resolve circular library reference in libsvn_fs_x (r1696695) + * Fix Unix build on systems without GPG agent (r1694481, r1697824) + +Version 1.9.0 +(5 Aug 2015, from /branches/1.9.x) +http://svn.apache.org/repos/asf/subversion/tags/1.9.0 + + User-visible changes: + - General: + * make all commands provide brief description in help output (r1522518) + * flush stdout before exiting to avoid information being lost (r1543868) + + - Major new features: + * fsfs: new format 7 with more efficient on-disk layout (r1547045 et al) + * blame: support showing prospective as well as previous changes + * info: support printing of individual values with --show-item (r1662620) + * svn auth: new subcommand to manage cached credentials and certs + * svnserve: cache config and authz to lower resource usage and be able to + serve large numbers of connections with a limited number of threads + * membuffer: quadruple the maximum cacheable directory size (r1545948 et al) + * new filesystem fsx (faster, smaller); experimental - see release notes + + - Minor new features and improvements: + * new 'diff-ignore-content-type' runtime configuration option + * new option for 'svnadmin verify': --check-normalization + * new option for 'svnadmin verify': --keep-going + * svnadmin info: new subcommand to print info about a repository + * print summary of conflicts before/after interactive conflict resolution + * import: reduce number of connections to the server needed (r1482962) + * membuffer: rework cache eviction heuristics (r1476664 et at) + * membuffer: improved cache usage statistics (r1489883) + * mergeinfo: new '--log' option (r1492168) + * svnadmin upgrade: progress and cancellation support (r1495545, r1495566) + * cleanup: add '--remove-unversioned' and '--remove-ignored' (issue #3549) + * cleanup: add '--include-externals' option (issue #2325) + * cleanup: add '--quiet' option (r1498661) + * svnadmin load: speedup by setting revprops in one call (r1504079) + * svnadmin load: set svn:date revprop in the initial commit (r1504951) + * reimplement UTF-8 fuzzy conversion using utf8proc (r1511676) + * svnadmin verify: speed up for repos with large directories (r1520419) + * svn merge: interactive conflict resolver tries external tools (r1524145) + * minor speed up in string to time conversion (r1533387) + * windows: speed up console output (r1533994) + * update: optimize wc db usage when obtaining children (r1537065 et al) + * decreased overhead for case-sensitive configuration access (r1538068) + * avoid re-opening repo for in-repo authz if already open (r1538120) + * svnserve: output errors in a more standard way (r1544250) + * faster parsing of config file comments (r1544716) + * avoid trying to open the hooks-env file when it doesn't exist (r1544721) + * svnserve: provide the same logging detail in "run once" mode as provided + in the log file (r1544731) + * svnserve: reduce connection latency (r1544732) + * wc: reduce the number of locks and transactions required (r1545127 et al) + * cat: add '--ignore-keywords' option (r1547517) + * merge and mergeinfo: use fewer RA sessions (r1552265) + * fsfs: limit delta chains from crossing too many shards (r1554942) + * fsfs: option to configure compression level in deltas (r1559748) + * fsfs: enable dir and prop deltas by default for formats that support + it (r1555286) + * fsfs: avoid out of date errors from files in a directory changing when + you change a property on the directory (r1558224) + * fsfs: temporary transaction properties are preserved when commit is + interrupted (r1549907 et al) + * fsfs: speed up transaction creation (r1544719) + * fsfs: avoid trying to open lock digest files that don't exist (r1544721) + * fsfs: reduce internal overhead by using sorted array instead of hash for + directory representation (r1554711) + * fsfs: skip decoding txdelta windows that are already cached (r1555284) + * fsfs: avoid constructing fulltext when delta we need is stored (r1555297) + * fsfs: improvements to format 6 reading/writing (r1517479) + * fsfs: reduce overhead of parsing noderev structures (r1544717) + * fsfs: speed up node relation comparison (r1554807) + * fsfs: speed up critical open_path() call (r1483301 et al) + * fsfs: speed up node verification (r1520421 et al) + * fsfs: speed up serialization into cache buffer format (r1505056) + * fsfs: avoid caching intermediate fulltexts (r1565100) + * fsfs: reduce lock contention on txn-list-lock (r1569549) + * svnadmin: don't display warnings as errors (r1556297) + * ra_serf: avoid caching properties in the update editor (r1557538) + * ra_serf: decrease latency of requests to get directory contents by + pipelining requests, speeds up 'svn ls --include externals' and + some cases of multi-url diff, including merge (r1557548) + * ra_serf: spool small update reports in memory to avoid making temp files + for small requests (r1557599) + * ra_serf: allow the reuse of serf connections after an error (r1553341) + * ra_serf: improve many error messages (r1551910 et al) + * ra_serf: pipeline lock/unlock requests (r1551918, r1551993, r1552008) + * ra_serf: pipeline requests for inherited properties against old servers + that don't support the faster REPORT (r1552455, r1552475) + * ra_serf: allow reuse of sessions after a canceled request (r1557686) + * ra_serf: reduce memory usage when retrieving revision props (r1557689) + * mod_dav_svn: make out of date error message consistent with generic repos + logic (r1558247) + * allow SQLite to optimize functions that are deterministic (r1559352) + * speed up delta calculations on non-deltifyable sections (r1559767) + * ra_serf: improve memory usage in commit processing (r1520028) + * report progress as cumulative across all sessions (issue #3260) + * ra_serf: don't send DAV headers with GET requests (r1517472) + * mod_dav_svn: SVNCacheTextDeltas defaults to on (r1517479) + * fs: improve scalability of fs_open and similar functions (r1523450 et al) + * svnserve: improve performance and scalability (r1523465 et al) + * svnadmin verify: output progress messages to stdout (r1471095) + * svnadmin crashtest: make output less misleading (r1486046) + * mod_dav_svn: discover copy to src earlier in some cases (r1537440) + * speed up mergeinfo parsing (r1483292, r1483309 et al) + * optimize hash lookups used in mergeinfo and caching (r1483434 et al) + * log: optimize string handling in repos layer (r1483570, r1483572) + * ask disk hardware to sync instead of only syncing to hardware buffers + when OS supports it (r1484439, r1484445) + * optimize diff code to avoid unneeded comparisons (r1485488) + * optimize check if relpaths are canonical (r1485496, r1489828) + * ra_svn: reduce protocol implementation overhead (r1485499, r1485504 et al) + * optimize file translation without keyword substitution (r1486058) + * optimize config file parsing by using unbuffered I/O (r1486897) + * patch: apply ignore settings when deciding to delete dirs (r1490378) + * use a cheaper RA operation for common client calculation (r1496468 et al) + * ra_svn: avoid unnecessary work when doing a blame (r1503046) + * optimize reading files into memory if size is known (r1505068) + * copy: do not error on properties when doing a foreign copy (r1563361) + * membuffer: reduce memory usage by using shorter lived pools (r1564217) + * svnadmin load: add '--ignore-dates' option (r1564789) + * update: reduce sessions used with '--parents' option (r1565920) + * diff: report properties on deleted nodes (r1569320, r1570055) + * diff: switch to diff processor APIs instead of old style callbacks, step + towards resolving long standing bugs and feature requests (r1569551 et al) + * diff: use the proper revision in headers for addition and deletion + of files (r1570053) + * svnadmin lslocks: add cancellation (r1571992) + * svn --version: list available authentication credential caches (r1572106) + * fs: improved detection of changes between two nodes, this should reduce + the number of out of date errors clients see (r1572336) + * allow the use of libmagic to be configured via subversion configuration + file or SVN_CONFIG_OPTION_ENABLE_MAGIC_FILE env variable (r1572916) + * new '--pin-externals' option for svn copy (issue #1258) + * the '--strict' option was renamed '--no-newline' (r1662224) + * merge/update: switch to three-way text conflict markers + (r1591951, r1595522) + * patch: handle renames in git formatted patches (r1594636) + * svnfsfs: new expert tool (r1594860) + * mod_dav_svn: allow server admin to GET the FSFS global cache stats + (r1595160) + * diff: support git-like binary file diffs with '--git' (r1599552) + * diff: support arbitrary context size for internal diff tool with + '-U' option (r1603847, 1603871) + * commit: print progress notification between client finishing + transmitting text deltas and asking server to commit (r1604179) + * fsfs: optimize log commands for repos on Windows by not + using a locale specific function to parse ids (r1605123) + * fsfs: reduce memory usage of reading/writing changed paths caches + (r1605188 et al) + * mod_dav_svn: log post-commit errors to httpd error log as well + as returning them to client (r1606004) + * make server config groups work with svn:// URLs (issue #4512) + * svnadmin hotcopy: report progress when copying revisions and packed + shards for FSFS repositories (r1613339) + * info: show revisions for missing tree conflicts (r1617932) + * fsfs: avoid shared data clashes due to multiple distinct repositories + having identical UUIDs (r1618138 et al) + * status: ignore thumbs.db files by default (r1620955) + * fsfs: harden parsers against data corruption (r1622931, r1622937, + r1622942) + * diff: respect svn:keywords and svn:eol-style when doing arbitrary + diffs (r1623820) + * ra_serf: reduce size of XML generated for reports (r1627333) + * replace generic --trust-server-cert with more specific options to + override specific certificate failures (r1630117 et al) + * commit: improve speed of commits with many files (r1630312 et al) + * svnadmin setrevprop: add '--transaction' option (r1631435) + * svnadmin delrevprop: new subcommand (1592723) + * svnadmin verify: validate the index data against checksums (r1631598) + * svnadmin verify: new option '--metadata-only' (r1593753) + * cp: improve performance of local copies (r1632284, et al) + * fsfs: speed up operations that use revision properties (r1634875, + r1634879) + * checkout/update: use fewer RA sessions (r1635753 et al) + * log: do less work when '--with-no-revprops' is used (r1642231) + * patch: improve command to be more capable as compared to GNU patch + (issue #4533) + * limit server caches to avoid running out of memory if server admin + configured caches larger than supported by the platform (r1645572) + * mod_authz_svn: log implicit read access failures with INFO log level; + Explicit read access failures are still logged with ERROR log level + (r1653032) + * ra_serf: reduce memory usage by removing some extra intermediary state + (r1654681, r1654690) + * revert: improve performance on large working copies without changes + (r1657083) + * ra_svn: improve efficiency of editor processing (r1658194 et al) + * merge: provide different conflict reasons for local additions and + unversioned obstructions (r1659381) + * windows: improve checkout performance on windows by using sqlite truncate + journal mode rather than delete (r1659426) + * status: now accept '-r' argument (r1671164, 1672578, 1673228) + * ls: improve performance of '-v' on tag directories (r1673153) + * resolve: improve conflict prompts for binary files (r1667228 et al) + * fsfs: improve error messages for parsing errors (r1678147, r1678149) + * warn when the '--config-option' FILE:SECTION:OPTION combination may + be invalid. (r1674301 et al) + * ensure full key matching in membuffer cache (r1678950 et al) + * mod_dav_svn: expose cache statistics via HTTP (r1595160) + + - Client-side bugfixes: + * export: fix problem exporting symlinks on windows (r1476093) + * fix non-ascii character handling of command line options (r1476461) + * log: strip EOL marker only after converting to UTF-8 (r1476608) + * ra_serf: avoid dropping errors when making a lock request (r1489526) + * ra_serf: fix an error leak in update logic (r1499686) + * windows: fix issues with wcs in symlinked folders (r1501251) + * fix regression that broke parallel nested checkouts (issue #4390) + * svnmucc: ignore leading r in revision number arguments to -r (r1502636) + * mkdir: use absolute paths to avoid Windows path length limits (r1516816) + * avoid encoding support code when C runtime doesn't support it (r1530582) + * ra_svn: add check against dirents with path separators (r1533812) + * properly delete temporary files when atomic write fails (r1537466) + * wc: fix corner cases in move-update tree conflicts (r1538639 et al) + * windows: fix crash report indentation for x64 reports (r1543589) + * mergeinfo: allow to work on a moved target (issue #4301) + * windows: avoid delay when no homedir is available (r1546814) + * status: report externals in a deterministic way (r1550200) + * copy: avoid an unneeded extra RA session for wc to repo case (r1551564) + * ra_serf: show pre-revprop-change failure on revprop delete (issue #3086) + * svnsync: avoid extra request at end of every revision sync (r1553370) + * ra_serf: fix replace + propset of locked file failures (issue #3674) + * ra_serf: prevent overwriting directory during copy (issue #3314) + * commit: limit number of temporary files open at same time (issue #4172) + * ra_serf: verify incoming integers are really integers (r1557709 et al) + * log: -g --xml doesn't differentiate between forward and reverse merges + (issue #4463) + * windows: improve update and checkout speed (issue #4450) + * log: reduce performance penalties of using -g (r1559912) + * blame: reduce performance penalties of using -g (r1560112) + * ra_local: set svn:txn-user-agent for consistency (r1498608) + * ra_svn: use the stream API properly for communications (r1562072) + * update: provide error when none of targets are wcs (r1565388) + * wc: reduce dependence on unspecified SQLite behavior (r1567080 et al) + * diff: fix diffing directory without permissions to read parent (r1569265, + r1569290) + * diff: improve resolving peg revisions (r1570205 et al) + * diff: fix bug in calculating header paths (r1570584) + * ra_serf: add SSL certificate issuers common name to output (r1573728) + * updates keywords in files not modified during 'svn switch' (issue #1975) + * svnmucc: Normalize line endings with '-F' and '-m' options + (r1592148, r1592150) + * fix problems with read-only authentication caches (issue #4504) + * commit: don't bump just locked files (r1603617) + * log: reduce memory with '-v' (r1604569 et al) + * diff: fix diffing locally deleted nodes under copied directories + (r1605832) + * diff: fix missing node error when diffing a replaced node (r1605866) + * propget: forbid using 'show-inherited-properties' with 'strict' (r1611698) + * windows: avoid delay when user profile isn't writable (r1617926) + * merge: display the correct node kinds for tree conflicts (r1618024, + r1619418, r1619717) + * diff: show the correct revisions in the header (r1619452) + * diff: fix missing header for files with only property changes (r1619476) + * update: raise a tree conflict rather than an obstruction when an + incoming server-excluded node conflicts with a locally added node + (r1619495) + * update: improve tree conflict reason and action descriptions (r1619777) + * ra_serf: fix stalls during checkout/update over http/https (r1621596) + * svnmucc: don't crash when '--version' is used with other arguments + (r1625496) + * checkout: report svn:externals failures via the exit code as other + commands already do (r1628398) + * svn & svnlook: use the right error code when fputs() fails (r1630369) + * export: reject peg specifiers on local destination path (r1635085) + * don't reject command-line arguments in the form of ".@abc", where + "abc" is a peg specifier that may be empty (r1635118) + * fix directory externals not following history (issue #4529) + * remove 'df' and 'm' options from the interactive conflict resolver for + binary files (r1645578) + * mergeinfo parsing: allow source path to be empty (issue #4537) + * mkdir: when using '--parents' don't add entire contents recursively if + target already exists (r1649951) + * resolve errors with move of a nested delete (r1651980, r1651997) + * update: prevent breaking a working copy when a directory is replaced + with an external to a foreign repository (issue #4550) + * update: prevent an invalid wc state when applying a move (r1652184 et al) + * resolve: fix a segfault when breaking a move inside a delete (issue #4491) + * ra_serf: don't handle a commit that didn't produce a new revision as + a successful commit (r1653532) + * export: fix the lack of notifications when starting to handle externals + (issue #4527) + * update: fix a case where we reported an error rather than a tree conflict + (r1655017) + * info: Use local platform style paths in all cases (r1659283) + * handle lack of a configuration file properly (r1660369) + * update: resolve issues with tree conflicts caused by an incoming + delete removing a mixed revision tree (r1660742) + * don't hold onto locks of deleted paths in the client on commit (r1661363) + * info: fix url calculation for a few statuses (r1661476) + * update: when using '--set-depth' avoid removing local changes (r1661585) + * update: fix tree conflict detection on unversioned nodes that exist where + there used to be a deleted node (r1661664) + * status: display tree conflicts even if the node with the tree conflict is + shadowed by a file (r1662331) + * pre-1.6 wc compatibility: fix with obstructed working copies (r1662412) + * resolve: allow directly resolving tree conflicts (r1658435) + * copy: when copying from a wc to a url show all the changes (r1655729) + * info: provide results in a stable order (r1662030) + * revert: allow depth limited reverts of nodes that only have not-present + and/or excluded child nodes (r1662091) + * wc: fix calculating repo path after commits of nodes that shadow a + switched (not-present) node (r1663991, r1666258, r1674032) + * update: resolve assertion on bad update report involving incomplete + status (r1663671, r1666832) + * update: allow a real file to replace a file external (r1664035) + * merge: raise a tree conflict on root of obstructing dir (r1666690) + * cp: fix 'svn cp ^/A/D/H@1 ^/A' to properly create A (r1674455, r1674456) + * status: fix incorrect output with file externals (issue #4580) + * merge: fix part of issue #4582 (r1686175, r1687029, r1688258) + + - Server-side bugfixes: + * svnserve: don't ignore socket initialization errors (r1544253) + * svnserve: don't hide fatal errors in inetd and tunnel modes (r1544256) + * fsfs: log repo path in local style for cache init failure (r1494314) + * fsfs: fix potential transaction corruption (r1519624) + * svnserve: fix logging in multi-threaded servers (r1523502) + * fsfs: don't report out of date errors due to FS corruption (r1527084) + * svnadmin verify: detect inconsistencies that prevent loading (r1536854) + * mod_dav_svn: use 404 status for errors caused by invalid URIs (r1542063) + * mod_dav_svn: use 404 when the repository doesn't exist (r1544259) + * mod_dav_svn: use 'dav_svn:' prefix for filename instead of 'svn:' + (r1544711) + * mod_dav_svn: XML escape lock tokens (r1547427) + * hotcopy: don't create config files when copying pre-1.5 repos (r1547454) + * hotcopy: preserve the rep-cache.db permissions when hotcopying (r1547877) + * mod_dav_svn: fix SVNCacheTextDeltas and SVNAdvertisV2Protocol directive + merging (r1548124) + * mod_dav_svn: always produce an error text even when text specifies + the default message to make diagnosing issues easier (r1553441) + * mod_dav_svn: fix some pool lifetime issues with error messages (r1553868) + * mod_dav_svn: avoid setting option headers multiple times (r1557103) + * fsfs: prevent some commits that could cause future corruption (r1560673) + * cache: fix premature eviction due to 64-bit underflows (r1567996 et al) + * svnserve: fix potential integer overflow in Cyrus SASL support (r1570434) + * bdb: fix potential integer overflow and underflow (r1570701) + * bdb: prevent silent propogation of some corruption (r1570778) + * svnadmin hotcopy: do not corrupt db/current contents when copying old + FSFS repos (r1603485) + * svnadmin hotcopy: don't produce broken copies when a concurrent pack + happens (r1605633) + * log: reduce memory consumption of '-v' (r1605195) + * mod_dav_svn: fix performance issue on Windows with named atomics + (r1611379) + * log: fix a segfault in handling changed paths (r1615364) + * mod_dav_svn: properly forward post-lock/post-unlock failures (r1622235) + * diff: fix handling of depth empty in added directories (r1622024) + * fix a segfault with corrupted changed path lists that try to add root + nodes (r1622944) + * svnadmin verify: report errors nicely rather than possibly aborting + (r1622955) + * svnlook propget: report transaction name rather than revision number in + errors if run with '-t' option (r1623317) + * svnadmin verify: prevent stack overflow conditions in corrupted + repositories (r1623398) + * fsfs upgrade: fix an issue that could block an upgraded format 1 or 2 + repository from being committed to (r1624011) + * fs backends: fix memory lifetime issue (r1632646) + * bdb: output correct checksum in error message about corruption (r1640707) + * fsfs: fix a pool lifetime error related to transaction local caches + (r1643139, 1643233) + * fsfs: avoid "random DAG walks" during checkout over ra_serf (r1645567) + * fsfs/bdb: reduce memory use during tree deletions (r1647820, r1655022) + * mod_authz_svn: fix unbounded memory use when SVNPathAuthz short_circuit + is used (r1647887) + * fsfs: reduce memory use when walking back in history (r1648230) + * dump: remove incorrect kind header on replaced nodes (issue #4553) + * dump: remove duplicate headers for replace-with-copy (issue #4552) + * mod_dav_svn: don't send XML-unsafe characters in svn:author + (issue #4415) + * dump: don't write broken dump files in some ambiguously encoded fsfs + repositories (issue #4554) + * mod_dav_svn: provide a more intuitive error message to the client when + trying to create a directory that already exists (issue #2295) + * fsfs: fix uninitialized memory use in lock/unlock code (r1657525) + * fix a segfault executing a pre-commit hook with legacy locks (r1657893) + * mod_dav_svn: do not ignore skel parsing errors (r1658168) + * fsfs: fix multiple reporting of the same lock (r1658482) + * fsfs: fix pool lifetime issue in lock handling (r1659314) + * mod_dav_svn: properly log assertions and malfuctions (r1660480) + * svnadmin load/dump: preserve deletion of svn:date from r0 (issue #4563) + * svnrdump: don't provide HEAD+1 as base revision when loading deletes + (r1664684) + * mod_dav_svn: improve error message sent with a 405 status code + (r1665195, r1666096, r1666379) + * make detection of invalid base revision on commit behave the same on + all RA layers (r1664664, r1664672, r1664674) + * mod_dav_svn: emit the first few log items as soon as they are available + (r1666965, r1667120) + * mod_dav_svn: prevent a tree walk on copy sources (issue #4351) + * fsfs: fix 'EOF found' error when reading repo (issue #4577) + * svnadmin freeze: unlock rep-cache.db as part of unfreezing + (r1679169, r1679287) + * fsfs: improve stability in the presence of power or network + disk failures during 'svnadmin pack' (r1683378) + * detect invalid svndiff data earlier (r1684077) + + - Client-side and server-side bugfixes: + * use less memory when retrieving extension from filename (r1548480) + * use more optimal code path with old txdelta v1 data (r1485480) + * windows: allow opening SQLite databases on long paths (r1564338) + * fix an out-of-bounds read in the delta combiner (r1569415) + * fix a number of cases of undefined behavior when passing invalid + arguments to memcpy() (r1632530, et al) + * windows: avoid a 12 second delay due to a retry loop in some error + conditions when opening a file (r1657583) + + - Other tool improvements and bugfixes: + * windows: add build-svn-deps-win.pl tool to build dependencies (r1467715) + * svnpubsub: add support for revprop changes (r1486463) + * svnpubsub: do not pass svn commands through shell (r148466, r1486467) + * svnpubsub: hooks exit with an error if they fail (r1486500, r1486597) + * svnpubsub: hooks use "--" to signal end of arguments (r1486513) + * mailer: properly encode mail headers per RFC2047 (r1487532) + * svnwcsub: add a pre-update hook, which can deny update (r1494542 et al) + * fsfs-stats: count file nodes that are added without history (r1519283) + * fsfs-stats: replaced by 'svnfsfs stats' (r1594860) + * fsfs-access-map: count empty reads and unnecessary seeks (r1523441) + * fsfs-access-map: generate scaled/rectangular heatmaps (r1505065) + * fsfs-access-map: deal with strace format issues (r1505065) + * fsfs-access-map: update to know about index files (r1505065) + * svnbench: renamed from svn-bench (r1659226) + * svnbench: add null-info command (r1532196) + * svnlook.py: made usable as a library by adding getter methods (r1541558) + * svnbench, svnraisetreeconflict, svnauthz, svn-rep-sharing-stats: More + consistent error reporting, following pattern of core command-line + programs (r1544194) + * which-error.py: allow which-error.py to be run from symlink (r1547977) + * bash_completion: add svnlook filesize command and options to svn cat, + info, and mergeinfo commands (r1569021) + * new '--conflict-style' option to standalone diff3 tool (r1591750) + * update standalone diff3 tool so it can be used with --diff-cmd + directly (r1591871, r1591876) + * bash_completion: support for auth command (r1596841) + * diff: support '-U' option (r1618618) + * svn-rep-sharing-stats: replaced by 'svnfsfs stats' (r1618861) + * add svn-vendor.py as an alternative to svn_load_dirs.pl that can + auto-detect renames and copies (r1623660) + * svnpredumpfilter.py: fix a scalability problem that made run time + increase greatly on large repositories (r1625674 et al) + * svnpredumpfilter.py: detect copies of copies and handle properly + (r1626182) + * bash_completion: add svnadmin delrevprop (r1631473) + * showchange.pl: removed, obsoleted by 'svn log --diff' (r1631686) + * bash_completion: add new trust options (r1660373) + * bash_completion: add '--pin-externals' (r1662250) + * bash_completion: stop offering deprecated options (r1662291) + * bash_completion: add '--show-item' and '--no-newline' (r1662622) + * svnbench: add null-blame command (r1673785, r1673803, r1674015) + * svnbench: install with default 'make install' (r1685085) + + Developer-visible changes: + - General: + * require Python 2.7+ for development and testing (r1691712, r1691713, r1692448) + * include symbolic names for error codes in maintainer mode (r1467643) + * include symbolic names for warning codes in maintainer mode (r1469855) + * support YouCompleteMe vim plugin (r1476374 et al) + * cache: add pretend_empty mode for maintainers (r1461689, et al) + * allow tests to be run with exclusive wc locks (r1496475) + * fix check for Microsoft C/C++ compiler (r1503148) + * improve windows build to use pre-built dependencies + * optimize ramdrive usage in the windows test runner (r1504511) + * SVN_CMDLINE_DISABLE_CRASH_HANDLER env var added for Windows (r1506507) + * gen-make.py: support Visual Studio 2013 by --vsnet-version=2013 (r1533907) + * windows: don't require APR source when building (r1534037, et al) + * don't compile SQLite amalgamation twice (r1536364) + * make C tests use same temp path as Python tests (r1536700) + * davautocheck: access log logs the r->filename now (r1538048) + * added test to detect duplicate SQL queries (r1538962) + * windows test runner: copy additional apr dlls (r1539300) + * support for debug logging that should be available in serf 1.4.0 (r1541561) + * OS X: fix build when Gnome is installed (r1541698) + * properly detect if expat is libexpat.lib or xml.lib on windows (r1541981) + * doc-clean target works properly with separate build dir (r1542303) + * don't break entire test run if cleaning temp directory failed but return + an error anyway (r1542817) + * windows tests: find java.exe via the sdk if not found via PATH (r1543876) + * fix davautocheck with httpd 2.3.x+ and worker/prefork MPMs (r1544302-3) + * add parallel mode for C tests (r1545334 et al) + * use --bin path for svnrdump when running Python tests (r1548706) + * remove unused --with-openssl option from configure (r1548714) + * tests: stop rewriting shared authz file for every sandbox (r1552064 et al) + * fix unnecessary aborts in maintainer mode on sqlite errors (r1536325) + * new --sqlite-logging option for C tests (r1560409) + * allow building with APR-2 (r1560586) + * remove support for ASM Zlib from Windows build system (r1560864) + * gen-make.py: new -D option (r1567046) + * improve how we fetch the version of Windows (r1568798, 1568806) + * move common code in python tests to library files to avoid side effects of + having tests depending on each other (r1570654) + * disable compiling on platforms where int is shorter than 32-bits and add + the SVN_ALLOW_SHORT_INTS compile definition to override (r1570882) + * disable building *.sbr files with Visual C++ 2010 or later (r1571020) + * require serf 1.3.4 (r1572261) + * require APR and APR-Util 1.3.x (r1572261) + * add mod_dontdothat to davautocheck.sh (r1572312) + * require Apache httpd 2.2.x (r1572339) + * support pkg-config for serf when using a prefix (r1572762) + * don't depend on stdbool.h and inttypes.h for utf8proc (r1573069 et al) + * avoid non-portable find extensions so the build works on Solaris (r1573780) + * Allow PARALLEL value to specify the number of threads to run tests with, + PARALLEL=1 means to use the default (r1573320) + * pkg-config support for libsvn_* libraries (issue #4435) + * binaries built on Mac OS X 10.6+ will not run on older versions (r1651549) + * fix random failure of Makefile-based parallel builds on Unix + when the amalgamated SQLite is being used (r1658357) + * C tests only run with ra_local to avoid duplicate testing (r1609477) + * allow skipping the C tests for any RA method (r1609489) + * new tools for benchmarking on Windows (r1610264) + * svnbench: no longer part of tools but main subversion (r1618860) + * improve detection for libtool (r1627276) + * check the runtime version of the fs_util library in the fs backends + (r1651567) + * properly initialize the src_kind value to avoid problems for other API + users during a copy (r1655723) + * try to improve reliability of applications that do not call + svn_dso_initialize2() right after apr_initialize() (r1659604) + * add svn-wc-db-tester tool for testing working copies (r1660874) + * fix bugs and performance issues using svn_wc_walk_entries3() (r1661110) + * support using Python 3 for building (r1661247) + * don't add -lstdc++ on FreeBSD 10 (r1662329) + * add build support for Visual Studio 2015 (r1663183, r1663184, r1689721 et al.) + * fix test failures when running from a directory whose name contains + characters that must be escaped when used in a URL. (r1664997) + * fix breakage of the serf ra session with svn_ra_get_dir2() and + svn_ra_get_log2(). (r1665213, r1665259, r1665609) + * resolve a race condition in some test suite cleanup code (r1683303) + * fix some tests on non-US default locale on Windows (r1684034) + * document the meaning of "XFAIL" for users building from source (r1683071) + + - API changes: + * new RA callbacks for managing ra_svn tunnels: + svn_ra_callbacks2_t::check_tunnel_func, + svn_ra_callbacks2_t::open_tunnel_func and + svn_ra_callbacks2_t::close_tunnel_func + * new API for retrieving info about a file system: svn_fs_info() + * new API svn_io_file_flush() that wraps apr_file_flush() + * new API svn_io_write_atomic(), that writes, sync and renames a file + * new API svn_compat_log_revprops_out_string() + * deprecate unused datatype svn_ra_get_latest_revnum_func_t + * new API svn_client_cleanup2() (r1496954 et al) + * new API svn_stringbuf_create_wrap() (r1502248) + * new API svn_io_file_aligned_seek() (r1502539) + * ra_svn: fix svn_ra_get_log*() to apply limit when server can't (r1503043) + * svn_client_commit6: notify which path prevents a mv commit (r1503662) + * new APIs svn_io_file_create_empty() and svn_io_file_create_bytes() + (r1505006) + * new API svn_ver_check_list2() (r1502267) + * new API svn_stringbuf_from_stream() (r1532193) + * svn_auth_get_platform_specific_client_providers() now includes ssl + providers (r1534153) + * change dav_svn_split_uri() repos_path argument (r1537812) + * new API svn_repos_fs_type() returns filesystem type (r1538585) + * svn_client__get_inheritable_props() clears wcroot_iprops when revision is + not valid (r1538602) + * SVN_VA_NULL: New macro which is null-pointer constant (r1536307) + * SVN_NEEDS_SENTINEL_NULL: New macro to mark functions that require final + NULL sentinel value, so compilers can warn when missing (r1543394) + * platform specific svn_auth_get_* functions are deprecated, use the + svn_auth_get_platform_specific_provider() function instead (r1543992) + * SVN_INT_ERR macro is deprecated; use svn_handle_error2() or + svn_cmdline_handle_exit_error() instead (r1544142) + * new API svn_client_cat3() allow disabling keyword expansion and retrieving + props (r1544182) + * svn_auth_first_credentials(): provides an error rather than crashing if + auth_baton is NULL (r1544320) + * svn_auth_set_parameter(): Do nothing if auth_baton is NULL (r1544320) + * new API svn_relpath_prefix which returns a relpath with a maximum number + of path components (r1545123, r1673282) + * svn_fs_initialize() is now threadsafe (r1546409) + * svn_checksum_kind_t has two new FNV-1a checksums (r1546699) + * svn_fs_lock: control characters are not allowed in lock tokens (r1547445) + * new API svn_wc_cleanup4() makes some functionality optional and adds + notifications (r1548075 et al) + * new API svn_client_info4() supports walking externals (r1550206 et al) + * new flag for svn_fs_begin_txn2() SVN_FS_TXN_CLIENT_DATE to allow client + to set the final svn:date (r1550228) + * new APIs for easier RA commits svn_client_mtcc_* (r1550758 et al) + * new API svn_ra_session_dup() (r1552324 et al) + * svn_ra_stat() now handles compatibility with 1.0-1.1 svnserve (r1552441) + * new error code SVN_ERR_COMPOSED_ERROR added to allow detection of + composed errors by API consumers (r1553266) + * new error code SVN_ERR_RA_DAV_PRECONDITION_FAILED (r1553668) + * new error code SVN_ERR_RA_CANNOT_CREATE_SESSION (r1554027) + * new API svn_fs_node_relation() (r1554800) + * SVN_EXPERIMENTAL to mark functions that might change in future (r1526012) + * fix bug in svn_client_get_merging_summary() with some params (r1532396) + * new error code SVN_ERR_XML_UNEXPECTED_ELEMENT (r1498938) + * extend stream API to also support incomplete reads (r1561688 et al) + * new API svn_wc_add_from_disk3() (r1563361) + * new API svn_client_revert3() to allow clearing changelists and to have + a metadata_only flag (r1568635, r1657026) + * svn_rangelist_inheritable2(): don't change inheritabilty of remaining + ranges (r1569731) + * svn_rangelist_inheritable2() and svn_mergeinfo_inheritable2(): fix a + pool lifetime issue (r1569764) + * new APIs to support cancelation during unified diff output and + allow the context size to be specified (r1570149 et al) + * APIs related to retrieving logs are now documented to be unlimited when + a negative value is passed for the limit (r1570330, 1570335) + * new APIs: svn_fs_props_different() and svn_fs_contents_different() + (r1572363, r1573111) + * expose SVN_CONFIG_AUTHN_* macros in public API (r1572640) + * add SVN_CONFIG_OPTION_SQLITE_TIMEOUT to allow SQLite busy timeout + to be configured by clients (r1592093) + * add new notification between transmitting deltas and finalizing + commit as svn_wc_notify_commit_finalizing (r1603388) + * svn_client_cat3() API no longer returns entry or WC props (r1603501) + * properly handle canonical paths in svn_io_start_cmd3() (r1604761) + * add SVN_FS_CONFIG_FSFS_BLOCK_READ to control FSFS format 7 block + read feature (r1604933) + * new API svn_cstring_skip_prefix() (r1612823) + * new API svn_diff_mem_string_output_merge3() (r1618599) + * extend svn_wc_info_t with conflicts2 (r1618643) + * new API svn_diff_mem_string_output_unified3() (r1618839) + * new API svn_diff_file_output_merge3() (r1618857) + * svn_fs_props_changed() and svn_fs_contents_changed() no longer return + false positives (r1618880) + * new API svn_wc_conflict_description2_dup() (r1618883) + * extend svn_wc_conflict_description2_t with prop_reject_abspath field + (r1619096) + * extend svn_wc_conflict_description2_t with property values as + svn_string_t's (r1619122) + * fix svn_client_import5() to use absolute paths (r1623974) + * fix a few cases of invalid filling of svn_client_commit_item3_t (r1623981) + * add SVN_FS_CONFIG_FSFS_SHARD_SIZE to allow creation of repositories with + a custom shard size (r1624512) + * new API svn_cmdline_create_auth_baton2 (r1630117) + * make svn_string_*() and svn_stringbuf_*() functions handle C strings + of NULL with 0 length (r1632530, et al) + * fix svn_stream_compressed() for streams without partial read support + (r1639626) + * do not segfault on svn_stream_read_full() or svn_stream_skip() are called + for a no-op stream created via svn_stream_create() (r1639637) + * add SVN_FS_CONFIG_FSFS_LOG_ADDRESSING to control logical addressing + feature of fsfs format 7 (r1640915) + * rename the 'parent_directory' parameter of + svn_wc_parse_externals_description3() to 'defining_directory' and improve + the documentation (r1642690) + * new API svn_repos_get_fs_build_parser5() (r1647563) + * SVN_VERSION_BODY changed so that it is embedded into libraries, ultimately + allowing SVN_VER_TAG constant to be modified by patches (r1651565) + * rename repos_url to repos_url_deocded argument to + svn_repos_get_commit_editor5() to clairfy usage (r1653609) + * make svn_io_set_file_read_only() and svn_io_remove_dir2() ignore + ENOTDIR when ignore_enoent argument is set so the behavior is consistent + across platforms (r1653680) + * make svn_ra_open4() return the documented error when a repository + should be opened in a different location (r1655648) + * no longer return an error when using svn_ra_get_lock() and the path does + not exist (r1656875) + * svn_string_dup() will accept a NULL pointer and return a NULL (r1657254) + * svn_ra_get_file_revs2() now handles SVN_INVALID_REVNUM as HEAD (r1660463) + * new API svn_error_quick_wrapf() (r1662668) + * new API svn_fs_node_has_props() (r1673170, r1673172, r1673692, r1673746) + * new API svn_repos_verify_fs3() (r1492651 ... r1687769) + + - Bindings: + * javahl: add support for the RA layer (r1494650 et al) + * javahl: add ignore-keywords knob to ISVNCLient.doExport (r1494936) + * javahl: improve performance of rev_range_vector_to_apr_array (r1496243) + * javahl: provide whole stack of errors from native exceptions (r1496353) + * javahl: new framework for manipulating in-memory config data (r1497746) + * javahl: add methods to set config change handler callback (r1497753) + * javahl: add inheritance info to JavaHL's RevisionRange type (r1499308) + * swig-rb: fixes to building on Windows (1505406 et al) + * libsvn_swig_*libraries now work as proper shared librares (r1506520 et al) + * swig-py: 'import svn.core.*' imports libsvn_subr public symbols (r1507860) + * javahl: expose the svn_rangelist operations (r1509025) + * javahl: new utility class SVNUtil (r1512354) + * javahl: serialize init of native library (r1519803) + * javahl: fix value truncation checks (r1519913) + * javahl: add ISVNClient.info which exposes svn_client_info4 (r1603481) + * javahl: include name of exception class in error messages (r1532117) + * javahl: simplify JNI environment handling (r1533804) + * javahl: Revsion.UNSPECIFIED added as alias to Revision.START (r1533928) + * javahl: do not require JUnit to build javahl; only to test (r1535603) + * javahl: update Action enum with new entries added in 1.9 (r1536319) + * javahl: expose node property validation utility (r1538133) + * javahl: new style JNI wrapper (r1539114 et al) + * javahl: new utility API to parse/unparse svn:externals (r1539130 et al) + * javahl: allow tests to be run from a RAM disk (r1539215 et al) + * javahl: expose and use the url member of svn_wc_notify_t (r1539601) + * javahl: expose a utility API to resolve relative externals (r1540921) + * javahl: new utility API for file content translation (r1542401) + * javahl: throw NullPointerException when sources is empty (r1543328) + * swig-pl: fix compilation against perl 5.18 on Windows (r1543980) + * javahl: implement streamed file contents translation (r1543985) + * javahl: enable warnings with javac (r1544163, r1544169) + * javahl: cleanup warnings (r1544578 et al) + * javahl: add common utilities for new-style map iterations (r1545925) + * javahl: add an API to get runtime version of native libs (r1545945) + * javahl: use default cache size instead of no cache (r1547248) + * swig-py: add typemap for hunks field of svn_patch_t (r1548379) + * javahl: don't ignore difference between NULL and empty changelist in + ISVNClient.getChangelists (r1553254) + * swig-pl: fix pool issues with setting dates as revisions (r1553822) + * swig-pl: make svn_auth_set_parameter() usable (r1553823) + * javahl: expose inheritiable property names (r1560338) + * javahl: fix bug in parsing single revision merginfo data (r1563140) + * javahl: create JVM crashlogs from svn malfunctions (r1563927, r1564252) + * javahl: avoid problems when building without NLS support (r1566578 et al) + * javahl: expose --alow-mixed-revisions merge option (r1567602) + * javahl: support incomplete reads from streams (r1569631) + * javahl: allow revert API to take a set of paths (r1571461) + * javahl: improve authentication callback (r1597758 et al) + * javahl: load (most) classes on demand (r1602822) + * javahl: expose confg file keys in JavaHL (r1604448) + * javahl: update ISVNClient.info, ISVnClient.cleanup and add + ISvnClient.vacuum (r1604449) + * javahl: update ISVNRepos.hotcopy (r1618894) + * swig-py: Add close to the core.Stream class (r1619077) + * javahl: add example clients that use the authn API (r1640533) + * swig-py: implement dump stream parser (r1642813) + * swig-pl: remove some unneded cleanup code that triggered a cleanup + failure on windows (r1643072) + * swig-pl: make cancel_func, cancel_baton parameter pairs work (r1648852) + * javahl: expose whitespace diff parameters to blame method (issue #4475) + * javahl: update ConflictDescriptor (r1655842) + * javahl: update FileRevision to provide textDelta (r1656911) + * swig-pl: install into prefix (r1658459) + * javahl: expose the metadataOnly option to copy support (r1661451) + * swig-py: add support for svn_fs_lock_many(), svn_fs_unlock_many(), + svn_repos_fs_lock_many() and svn_repos_fs_unlock_many() (r1662867) + * swig-py: fix support for svn_ra_lock() and svn_ra_unlock() (r1662891) + * javahl: allow java callbacks to throw errors back to the svn code + (r1664938, r1664939, r1664940, r1664978, r1664984) + * swig-pl: fix some stack memory problems (r1668618, 1671388) + * swig: warn on using SWIG 3.x as we have compatibility problems + with newer versions of SWIG (1675149) + * javahl: requires Java 1.6 (r1677003) + * javahl: on OS X use /usr/libexec/java_home to find the JDK (r1675774) + * javahl: allow compiling with a C++11 compiler (r1684412) + + Version 1.8.14 (5 Aug 2015, from /branches/1.8.x) http://svn.apache.org/repos/asf/subversion/tags/1.8.14 @@ -13,6 +809,9 @@ http://svn.apache.org/repos/asf/subversi of user and revision after 'svn up' (r1680242) - Server-side bugfixes: + * mod_authz_svn: do not leak information in mixed anonymous/authenticated + httpd (dav) configurations (CVE-2015-3184) + * do not leak paths that were hidden by path-based authz (CVE-2015-3187) * mod_dav_svn: do not ignore skel parsing errors (r1658168) * detect invalid svndiff data earlier (r1684077) * prevent possible repository corruption on power/disk failures (r1680819) @@ -863,10 +1662,17 @@ http://svn.apache.org/repos/asf/subversi * add missing API functions to JavaHL bindings (issue #4326) * fix some reference counting bugs in swig-py bindings (r1464899, r1466524) +Version 1.7.22 +(12 Aug 2015, from /branches/1.7.x) +http://svn.apache.org/repos/asf/subversion/tags/1.7.22 + + Developer-visible changes: + - General: + * fix the regression test suite which was broken in 1.7.21 (r1694012) Version 1.7.21 (5 Aug 2015, from /branches/1.7.x) -http://svn.apache.org/repos/asf/subversion/tags/1.8.21 +http://svn.apache.org/repos/asf/subversion/tags/1.7.21 User-visible changes: - Client-side bugfixes: @@ -875,6 +1681,9 @@ http://svn.apache.org/repos/asf/subversi non-deltas dumpfile (r1652182 et al.) - Server-side bugfixes: + * mod_authz_svn: do not leak information in mixed anonymous/authenticated + httpd (dav) configurations (CVE-2015-3184) + * do not leak paths that were hidden by path-based authz (CVE-2015-3187) * fix 'svnadmin recover' for pre-1.4 FSFS repositories (r1561419) Developer-visible changes: Modified: head/contrib/subversion/COMMITTERS ============================================================================== --- head/contrib/subversion/COMMITTERS Mon Oct 12 09:13:47 2015 (r289179) +++ head/contrib/subversion/COMMITTERS Mon Oct 12 09:53:55 2015 (r289180) @@ -1,4 +1,4 @@ -The following people have commit access to the Subversion sources. +The following people have commit access to the Subversion sources. Note that this is not a full list of Subversion's authors, however -- for that, you'd need to look over the log messages to see all the patch contributors. @@ -58,6 +58,7 @@ Blanket commit access: stefan2 Stefan Fuhrmann jcorvel Johan Corveleyn trent Trent Nelson + kotkov Evgeny Kotkov [[END ACTIVE FULL COMMITTERS. LEAVE THIS LINE HERE; SCRIPTS LOOK FOR IT.]] @@ -96,6 +97,9 @@ Commit access for specific areas: jrvernooij Jelmer Vernooij (Python bindings) sage Sage LaTorra (Ctypes-Python b.) vmpn Vladimir Berezniker (JavaHL bindings) + rschupp Roderich Schupp (Swig bindings) + stilor Alexey Neyman (Python bindings, + svn-vendor.py) Packages: @@ -157,8 +161,10 @@ Commit access for specific areas: artagnon Ramkumar Ramachandra (svnrdump, svntest) arwin Arwin Arni (svn-bisect) joes Joe Schaefer (svnpubsub) - prabhugs Prabhu Gnana Sundar (verify-keep-going) - + humbedooh Daniel Gruno (svnpubsub) + prabhugs Prabhu Gnana Sundar (verify-keep-going) + schabi Markus Schaber (testsuite) + gbg Gabriela Gibson (gtest) Translation of message files: @@ -186,6 +192,7 @@ giorgio_valoti Giorgio Valoti (po: fr) marcelg Marcel Gosselin (po: fr) + mattiase Mattias Engdegård (po: sv) Experimental branches: Modified: head/contrib/subversion/INSTALL ============================================================================== --- head/contrib/subversion/INSTALL Mon Oct 12 09:13:47 2015 (r289179) +++ head/contrib/subversion/INSTALL Mon Oct 12 09:53:55 2015 (r289180) @@ -3,7 +3,7 @@ A Quick Guide ====================================== -$LastChangedDate: 2013-09-27 06:57:44 +0000 (Fri, 27 Sep 2013) $ +$LastChangedDate: 2015-07-26 23:03:10 +0000 (Sun, 26 Jul 2015) $ Contents: @@ -15,7 +15,7 @@ Contents: D. Documentation II. INSTALLATION - A. Building from a Tarball or RPM + A. Building from a Tarball B. Building the Latest Source under Unix C. Building under Unix in Different Directories D. Installing from a Zip or Installer File under Windows @@ -123,7 +123,8 @@ I. INTRODUCTION *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Oct 12 10:29:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0EF9A1185B; Mon, 12 Oct 2015 10:29:09 +0000 (UTC) (envelope-from peter@wemm.org) Received: from smtp2.wemm.org (smtp2.wemm.org [192.203.228.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp2.wemm.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 6ACDDAA5; Mon, 12 Oct 2015 10:29:09 +0000 (UTC) (envelope-from peter@wemm.org) Received: from overcee.wemm.org (canning.wemm.org [192.203.228.65]) by smtp2.wemm.org (Postfix) with ESMTP id 00FEB41A; Mon, 12 Oct 2015 03:29:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wemm.org; s=m20140428; t=1444645743; bh=8SQGFsmiOxXAazf3z4QBRoMk1skBSsmew3bQGdC22bE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=EG7Nj8bcYsCn37eQefPQDOCIZLTNCGLyNtxpUwtihYI1Tfx/UJoHvAGFT1uODoOrp H/kaJVgh79Vh3Q5ZNzl4A7MZoxK+PpVKnNRLKEqNY+PRXeAhESjddruD1/AmzRe5iH x9NRo0YtZOdikVDtPdnbYS0Nf2mJp3kt3u/0Jt/U= From: Peter Wemm To: svn-src-head@freebsd.org Cc: Baptiste Daroussin , Adrian Chadd , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r289087 - in head: etc etc/dma libexec libexec/dma libexec/dma-mbox-create libexec/dma/dma libexec/dma/dma-mbox-create share/examples share/examples/dma Date: Mon, 12 Oct 2015 03:28:58 -0700 Message-ID: <18764496.s6PQvKbF0B@overcee.wemm.org> User-Agent: KMail/4.14.3 (FreeBSD/11.0-CURRENT; KDE/4.14.3; amd64; ; ) In-Reply-To: <20151010144422.GN91729@ivaldir.etoilebsd.net> References: <201510092209.t99M9iPx025401@repo.freebsd.org> <20151010144422.GN91729@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1484551.rXRBjzgciD"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 10:29:09 -0000 --nextPart1484551.rXRBjzgciD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="us-ascii" On Saturday, October 10, 2015 04:44:23 PM Baptiste Daroussin wrote: > On Fri, Oct 09, 2015 at 08:15:57PM -0700, Adrian Chadd wrote: > > I think this broke being able to do installworld as non-root > >=20 > > 21:03 <@adrian> =3D=3D=3D> libexec/dma/dmagent (installconfig) > > 21:03 <@adrian> install: > > /home/adrian/work/freebsd/head-embedded/src/../root/mips_ap/etc/dma= /dma.co > > nf: chown/chgrp: Operation not permitted > > 21:03 <@adrian> *** Error code 71 >=20 > Fixed in r289115 >=20 > Bapt You've broken etcupdate with this, and also the freebsd cluster. # etcupdate status Warnings: Non-empty directory remains: /etc/dma You also made it delete ppp.conf: D /etc/ppp/ppp.conf D /etc/ppp Deleting people's config files is not good. =2D-=20 Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI= 6FJV UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246 --nextPart1484551.rXRBjzgciD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJWG4tqAAoJEDXWlwnsgJ4EsB0H/jVwW2O7RTrNEs82A+OlJQLb Bz+aIfdeoVF/0f3RamzBe7ap8sVSer0odNWwpvk1l0FOwfd/ejreLjvNBoLpBMTA zb4cyxb4GooR/iE9DgAt3S7KJtlzi4zxLbLioIm1YQb7qYJdMMXGlsXjEBRJwG9t whSxp7wS3p2OB1h2Xpx+LbGKL/ps7v9A6BpS2/ce7KtlilxM09w09/f7Pl2MLjjv +MEYbmXitreRIAOaQ5Av8wbdZ7rlTHXvqTZ7jt20cnJOHASUzJfjURa+SQE1pHjS 5LJ2MBmxOlfzDBUtYse5tzHY/izKiWMqNSZNCGfbE8xCIX2Qj+1jt722bjwlIhY= =n/XD -----END PGP SIGNATURE----- --nextPart1484551.rXRBjzgciD-- From owner-svn-src-head@freebsd.org Mon Oct 12 10:42:54 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66FB5A11C55; Mon, 12 Oct 2015 10:42:54 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18EA21379; Mon, 12 Oct 2015 10:42:54 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1ZlaZ1-000EFZ-HJ; Mon, 12 Oct 2015 13:42:43 +0300 Date: Mon, 12 Oct 2015 13:42:43 +0300 From: Slawa Olhovchenkov To: Peter Wemm Cc: svn-src-head@freebsd.org, Adrian Chadd , Baptiste Daroussin , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" Subject: Re: svn commit: r289087 - in head: etc etc/dma libexec libexec/dma libexec/dma-mbox-create libexec/dma/dma libexec/dma/dma-mbox-create share/examples share/examples/dma Message-ID: <20151012104243.GC42243@zxy.spb.ru> References: <201510092209.t99M9iPx025401@repo.freebsd.org> <20151010144422.GN91729@ivaldir.etoilebsd.net> <18764496.s6PQvKbF0B@overcee.wemm.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <18764496.s6PQvKbF0B@overcee.wemm.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 10:42:54 -0000 On Mon, Oct 12, 2015 at 03:28:58AM -0700, Peter Wemm wrote: > On Saturday, October 10, 2015 04:44:23 PM Baptiste Daroussin wrote: > > On Fri, Oct 09, 2015 at 08:15:57PM -0700, Adrian Chadd wrote: > > > I think this broke being able to do installworld as non-root > > > > > > 21:03 <@adrian> ===> libexec/dma/dmagent (installconfig) > > > 21:03 <@adrian> install: > > > /home/adrian/work/freebsd/head-embedded/src/../root/mips_ap/etc/dma/dma.co > > > nf: chown/chgrp: Operation not permitted > > > 21:03 <@adrian> *** Error code 71 > > > > Fixed in r289115 > > > > Bapt > > You've broken etcupdate with this, and also the freebsd cluster. > > # etcupdate status > Warnings: > Non-empty directory remains: /etc/dma > > You also made it delete ppp.conf: > D /etc/ppp/ppp.conf > D /etc/ppp > > Deleting people's config files is not good. About etcupdate: # ls -l /var/db/etcupdate/current total 17 -r--r--r-- 1 root wheel 6197 Aug 27 10:20 COPYRIGHT drwxr-xr-x 2 root wheel 3 Aug 27 10:20 boot drwxr-xr-x 17 root wheel 89 Aug 27 10:20 etc drwxr-xr-x 2 root wheel 6 Aug 27 10:20 root lrwxr-xr-x 1 root wheel 11 Dec 8 2014 sys -> usr/src/sys drwxr-xr-x 3 root wheel 3 Dec 8 2014 usr drwxr-xr-x 3 root wheel 3 Dec 8 2014 var I think symlink 'sys' is unnecessary. As `usr/share` too: # ls -l /var/db/etcupdate/current/usr/share total 5 drwxr-xr-x 4 root wheel 5 Dec 8 2014 man drwxr-xr-x 2 root wheel 4 Dec 8 2014 nls drwxr-xr-x 3 root wheel 3 Dec 8 2014 openssl From owner-svn-src-head@freebsd.org Mon Oct 12 12:02:44 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61111A11089; Mon, 12 Oct 2015 12:02:44 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x232.google.com (mail-wi0-x232.google.com [IPv6:2a00:1450:400c:c05::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 05698B5; Mon, 12 Oct 2015 12:02:44 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wijq8 with SMTP id q8so54437182wij.0; Mon, 12 Oct 2015 05:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=ZwiI3jt5YWs1bAApnVFvKH8mQStc+nf/ADUlHSfUwTc=; b=ibAaEfKC/+t9Qz2/zN+KhTj+/0jFRH00RtdUGuwww/h+twaWC67Qgn3t53xKEv1TOv G2UU+5pLg1uyKsAuMN4k6XJEkNpHdxzWMozWrRKUu54FDgWwg+bW04AoIBqLO9WE5lVI iacrMxSa1PwY7S2ADAepbk7O2fHBiuWR60pPBXL2ZAeizrYHMenXNz6GfrxeMYICKKWO 56/zDf4zrPlI5N/fIfA2f+Z51ywqOg2wfg51g226LrolHYBmINwbVL3gJuQqkNZlQRx1 C3CTE16Rtr1e5S1XiNQCMTa+wYDWxKleWhrEzF7DP1ztxhmLQgjyt/4mx6pasEJFtE8l ItiA== X-Received: by 10.180.87.6 with SMTP id t6mr13358032wiz.20.1444651362250; Mon, 12 Oct 2015 05:02:42 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id jj8sm10651181wid.2.2015.10.12.05.02.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Oct 2015 05:02:41 -0700 (PDT) Sender: Baptiste Daroussin Date: Mon, 12 Oct 2015 14:02:39 +0200 From: Baptiste Daroussin To: Peter Wemm Cc: svn-src-head@freebsd.org, Adrian Chadd , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" Subject: Re: svn commit: r289087 - in head: etc etc/dma libexec libexec/dma libexec/dma-mbox-create libexec/dma/dma libexec/dma/dma-mbox-create share/examples share/examples/dma Message-ID: <20151012120239.GT91729@ivaldir.etoilebsd.net> References: <201510092209.t99M9iPx025401@repo.freebsd.org> <20151010144422.GN91729@ivaldir.etoilebsd.net> <18764496.s6PQvKbF0B@overcee.wemm.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="15k5Fuw+yLfT1d9X" Content-Disposition: inline In-Reply-To: <18764496.s6PQvKbF0B@overcee.wemm.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 12:02:44 -0000 --15k5Fuw+yLfT1d9X Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 12, 2015 at 03:28:58AM -0700, Peter Wemm wrote: > On Saturday, October 10, 2015 04:44:23 PM Baptiste Daroussin wrote: > > On Fri, Oct 09, 2015 at 08:15:57PM -0700, Adrian Chadd wrote: > > > I think this broke being able to do installworld as non-root > > >=20 > > > 21:03 <@adrian> =3D=3D=3D> libexec/dma/dmagent (installconfig) > > > 21:03 <@adrian> install: > > > /home/adrian/work/freebsd/head-embedded/src/../root/mips_ap/etc/dma/d= ma.co > > > nf: chown/chgrp: Operation not permitted > > > 21:03 <@adrian> *** Error code 71 > >=20 > > Fixed in r289115 > >=20 > > Bapt >=20 > You've broken etcupdate with this, and also the freebsd cluster. >=20 > # etcupdate status > Warnings: > Non-empty directory remains: /etc/dma >=20 > You also made it delete ppp.conf: > D /etc/ppp/ppp.conf > D /etc/ppp >=20 > Deleting people's config files is not good. Hu, make installconfig is hooked to make distribution, etcupdate is calling= make distribution to retrive the list of configurations files so it should get t= he config for ppp. Let me look into the etcupdate to see what is wrong with it. Best regards, Bapt --15k5Fuw+yLfT1d9X Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlYboV4ACgkQ8kTtMUmk6EzzhgCeJfyqgqkeaD2xvYgDOctpT0Zy mRoAoLotbZFazDJ2fTVMPCYo8unRn2xd =N7BL -----END PGP SIGNATURE----- --15k5Fuw+yLfT1d9X-- From owner-svn-src-head@freebsd.org Mon Oct 12 12:24:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A7D32A1172A; Mon, 12 Oct 2015 12:24:57 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x236.google.com (mail-wi0-x236.google.com [IPv6:2a00:1450:400c:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3C3CBFFC; Mon, 12 Oct 2015 12:24:57 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wijq8 with SMTP id q8so55341369wij.0; Mon, 12 Oct 2015 05:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=kekcuCkFqsHXAgARLZRbtfcxyJ6LDthAjM3vi9oq6eg=; b=AuPOX8+dF9AKtL3hBkokvkubXN5cAwNM7KTYPzVyUj02gTncNW7g75+XTHyibDBIFD q4LKd6R73w5b/pkwV6CMYxIIShiYesJAI6PMAXURmjH+yqyg/PK1ll1APfHumYAbdLSQ /e6exPcoRV3037+Yp844GnZ23E18jk0JGzkq4QSVK9Ktm2vrnyawYh0BSm8sn/sR/F5T A2HVwTNqmuSC9uEFWp5m8sfyWGskonenPB6LJ/bT2ZadUgNT9Ch0paYAmBJE3N6dSsZk NlHwyehnA3wurQcVG2njaUjlpxmyjgXJGAlKpE8pHMwNjhrsmeXC6ij8wWp8dFJPjoPY JcIA== X-Received: by 10.180.21.137 with SMTP id v9mr13759936wie.8.1444652695314; Mon, 12 Oct 2015 05:24:55 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id ds10sm3224517wib.24.2015.10.12.05.24.54 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Oct 2015 05:24:54 -0700 (PDT) Sender: Baptiste Daroussin Date: Mon, 12 Oct 2015 14:24:52 +0200 From: Baptiste Daroussin To: Peter Wemm Cc: svn-src-head@freebsd.org, Adrian Chadd , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r289087 - in head: etc etc/dma libexec libexec/dma libexec/dma-mbox-create libexec/dma/dma libexec/dma/dma-mbox-create share/examples share/examples/dma Message-ID: <20151012122452.GU91729@ivaldir.etoilebsd.net> References: <201510092209.t99M9iPx025401@repo.freebsd.org> <20151010144422.GN91729@ivaldir.etoilebsd.net> <18764496.s6PQvKbF0B@overcee.wemm.org> <20151012120239.GT91729@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="lIC76ItX9S6XOZ/S" Content-Disposition: inline In-Reply-To: <20151012120239.GT91729@ivaldir.etoilebsd.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 12:24:57 -0000 --lIC76ItX9S6XOZ/S Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 12, 2015 at 02:02:39PM +0200, Baptiste Daroussin wrote: > On Mon, Oct 12, 2015 at 03:28:58AM -0700, Peter Wemm wrote: > > On Saturday, October 10, 2015 04:44:23 PM Baptiste Daroussin wrote: > > > On Fri, Oct 09, 2015 at 08:15:57PM -0700, Adrian Chadd wrote: > > > > I think this broke being able to do installworld as non-root > > > >=20 > > > > 21:03 <@adrian> =3D=3D=3D> libexec/dma/dmagent (installconfig) > > > > 21:03 <@adrian> install: > > > > /home/adrian/work/freebsd/head-embedded/src/../root/mips_ap/etc/dma= /dma.co > > > > nf: chown/chgrp: Operation not permitted > > > > 21:03 <@adrian> *** Error code 71 > > >=20 > > > Fixed in r289115 > > >=20 > > > Bapt > >=20 > > You've broken etcupdate with this, and also the freebsd cluster. > >=20 > > # etcupdate status > > Warnings: > > Non-empty directory remains: /etc/dma > >=20 > > You also made it delete ppp.conf: > > D /etc/ppp/ppp.conf > > D /etc/ppp > >=20 > > Deleting people's config files is not good. >=20 > Hu, make installconfig is hooked to make distribution, etcupdate is calli= ng make > distribution to retrive the list of configurations files so it should get= the > config for ppp. >=20 > Let me look into the etcupdate to see what is wrong with it. >=20 > Best regards, > Bapt After checking I can confirm that etcupdate properly get the config: etcupdate build something.tar tar tvf something.tar | grep ppp.conf -rw------- 0 root wheel 1144 Oct 12 14:23 ./etc/ppp/ppp.conf Am I missing something? Best regards, Bapt --lIC76ItX9S6XOZ/S Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlYbppQACgkQ8kTtMUmk6EwtNACdGkTWqqtHwY91zetwKK2o1i/j I4sAnAkCZo7/8yXfgFT8STJM0LIvgRz4 =E9j+ -----END PGP SIGNATURE----- --lIC76ItX9S6XOZ/S-- From owner-svn-src-head@freebsd.org Mon Oct 12 12:39:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B757AA11AAD; Mon, 12 Oct 2015 12:39:48 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x235.google.com (mail-wi0-x235.google.com [IPv6:2a00:1450:400c:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 437FA18B2; Mon, 12 Oct 2015 12:39:48 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wicgb1 with SMTP id gb1so147363248wic.1; Mon, 12 Oct 2015 05:39:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=CtOGobR8yu8XwqMzcOiSsLn0aCIfOrHxkaUt3iKxotI=; b=LIij0eG3NYw5uBOzBREiKSaris8cPhEev97952qpzk/1/4+yb2QNnZLpC+wwcUEuI0 QZ33oH/27FJvsGemYhYib38+QzhmvmHuur51cEO8ZH2IsnzQ0D5WCrCzmNgbeJgT8oBf vguqx8ZzubKH0yvCLiH3NwQPJxP5IqoNekf2upMzdlQtIwPgHQigk1hSN9WvLUQ1nhq2 hoTi3YmEJKuBuD7MjkkkMTzZmjcN9haNYguFkVsBBwzplVqlw3l+Aa2+m7etHWrK+Pf5 Rh0bfJSLw7oYQ/VYPrH/4ZmQIAVKx7bLMT7+0JtaUm/rMjLwKJ+Ss6Oj9ilBSMzLG+Rp R9NQ== X-Received: by 10.194.171.69 with SMTP id as5mr30231828wjc.137.1444653586716; Mon, 12 Oct 2015 05:39:46 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id i3sm10744010wij.9.2015.10.12.05.39.46 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Oct 2015 05:39:46 -0700 (PDT) Sender: Baptiste Daroussin Date: Mon, 12 Oct 2015 14:39:44 +0200 From: Baptiste Daroussin To: Peter Wemm Cc: svn-src-head@freebsd.org, Adrian Chadd , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r289087 - in head: etc etc/dma libexec libexec/dma libexec/dma-mbox-create libexec/dma/dma libexec/dma/dma-mbox-create share/examples share/examples/dma Message-ID: <20151012123944.GA55137@ivaldir.etoilebsd.net> References: <201510092209.t99M9iPx025401@repo.freebsd.org> <20151010144422.GN91729@ivaldir.etoilebsd.net> <18764496.s6PQvKbF0B@overcee.wemm.org> <20151012120239.GT91729@ivaldir.etoilebsd.net> <20151012122452.GU91729@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="XsQoSWH+UP9D9v3l" Content-Disposition: inline In-Reply-To: <20151012122452.GU91729@ivaldir.etoilebsd.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 12:39:48 -0000 --XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 12, 2015 at 02:24:52PM +0200, Baptiste Daroussin wrote: > On Mon, Oct 12, 2015 at 02:02:39PM +0200, Baptiste Daroussin wrote: > > On Mon, Oct 12, 2015 at 03:28:58AM -0700, Peter Wemm wrote: > > > On Saturday, October 10, 2015 04:44:23 PM Baptiste Daroussin wrote: > > > > On Fri, Oct 09, 2015 at 08:15:57PM -0700, Adrian Chadd wrote: > > > > > I think this broke being able to do installworld as non-root > > > > >=20 > > > > > 21:03 <@adrian> =3D=3D=3D> libexec/dma/dmagent (installconfig) > > > > > 21:03 <@adrian> install: > > > > > /home/adrian/work/freebsd/head-embedded/src/../root/mips_ap/etc/d= ma/dma.co > > > > > nf: chown/chgrp: Operation not permitted > > > > > 21:03 <@adrian> *** Error code 71 > > > >=20 > > > > Fixed in r289115 > > > >=20 > > > > Bapt > > >=20 > > > You've broken etcupdate with this, and also the freebsd cluster. > > >=20 > > > # etcupdate status > > > Warnings: > > > Non-empty directory remains: /etc/dma > > >=20 > > > You also made it delete ppp.conf: > > > D /etc/ppp/ppp.conf > > > D /etc/ppp > > >=20 > > > Deleting people's config files is not good. > >=20 > > Hu, make installconfig is hooked to make distribution, etcupdate is cal= ling make > > distribution to retrive the list of configurations files so it should g= et the > > config for ppp. > >=20 > > Let me look into the etcupdate to see what is wrong with it. > >=20 > > Best regards, > > Bapt >=20 >=20 >=20 > After checking I can confirm that etcupdate properly get the config: >=20 > etcupdate build something.tar > tar tvf something.tar | grep ppp.conf > -rw------- 0 root wheel 1144 Oct 12 14:23 ./etc/ppp/ppp.conf >=20 >=20 > Am I missing something? I compared the tarball from before and after my change and there is no differences. I Compared: r289000 and r289183 Bapt --XsQoSWH+UP9D9v3l Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlYbqhAACgkQ8kTtMUmk6ExlSgCfSop+6xqEczs8A6j/8gFsfOAQ zD8AnRmFJ8s2zOdzTHYZHHFWYxY71TON =6Wb7 -----END PGP SIGNATURE----- --XsQoSWH+UP9D9v3l-- From owner-svn-src-head@freebsd.org Mon Oct 12 14:23:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC6ABA11875; Mon, 12 Oct 2015 14:23:11 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A701B1C69; Mon, 12 Oct 2015 14:23:11 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CENA66019852; Mon, 12 Oct 2015 14:23:10 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CENAmE019851; Mon, 12 Oct 2015 14:23:10 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <201510121423.t9CENAmE019851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Mon, 12 Oct 2015 14:23:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289186 - head/etc/rc.d X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 14:23:12 -0000 Author: vangyzen Date: Mon Oct 12 14:23:10 2015 New Revision: 289186 URL: https://svnweb.freebsd.org/changeset/base/289186 Log: Fix indentation in etc/rc.d/fsck. MFC after: 3 days Sponsored by: Dell Inc. Modified: head/etc/rc.d/fsck Modified: head/etc/rc.d/fsck ============================================================================== --- head/etc/rc.d/fsck Mon Oct 12 14:23:00 2015 (r289185) +++ head/etc/rc.d/fsck Mon Oct 12 14:23:10 2015 (r289186) @@ -20,7 +20,7 @@ fsck_start() elif [ ! -r /etc/fstab ]; then echo "Warning! No /etc/fstab: skipping disk checks." elif [ "$autoboot" = yes ]; then - # During fsck ignore SIGQUIT + # During fsck ignore SIGQUIT trap : 3 check_startmsgs && echo "Starting file system checks:" From owner-svn-src-head@freebsd.org Mon Oct 12 15:35:35 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC793A11E2E; Mon, 12 Oct 2015 15:35:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C198D8A; Mon, 12 Oct 2015 15:35:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CFZYtd041428; Mon, 12 Oct 2015 15:35:34 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CFZY6m041427; Mon, 12 Oct 2015 15:35:34 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201510121535.t9CFZY6m041427@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 12 Oct 2015 15:35:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289189 - head/contrib/elftoolchain/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 15:35:36 -0000 Author: emaste Date: Mon Oct 12 15:35:34 2015 New Revision: 289189 URL: https://svnweb.freebsd.org/changeset/base/289189 Log: Add missing commas Pointy hat to: kan Obtained from: ELF Tool Chain r3253 Modified: head/contrib/elftoolchain/common/elfdefinitions.h Modified: head/contrib/elftoolchain/common/elfdefinitions.h ============================================================================== --- head/contrib/elftoolchain/common/elfdefinitions.h Mon Oct 12 14:27:27 2015 (r289188) +++ head/contrib/elftoolchain/common/elfdefinitions.h Mon Oct 12 15:35:34 2015 (r289189) @@ -1678,19 +1678,19 @@ _ELF_DEFINE_RELOC(R_MIPS_GOTHI16, 21) \ _ELF_DEFINE_RELOC(R_MIPS_GOTLO16, 22) \ _ELF_DEFINE_RELOC(R_MIPS_CALLHI16, 30) \ _ELF_DEFINE_RELOC(R_MIPS_CALLLO16, 31) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPMOD32 38) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL32 39) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPMOD64 40) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL64 41) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_GD 42) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_LDM 43) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL_HI16 44) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL_LO16 45) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_GOTTPREL 46) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL32 47) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL64 48) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL_HI16 49) \ -_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL_LO16 50) +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPMOD32, 38) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL32, 39) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPMOD64, 40) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL64, 41) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_GD, 42) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_LDM, 43) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL_HI16, 44) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_DTPREL_LO16, 45) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_GOTTPREL, 46) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL32, 47) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL64, 48) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL_HI16, 49) \ +_ELF_DEFINE_RELOC(R_MIPS_TLS_TPREL_LO16, 50) #define _ELF_DEFINE_PPC32_RELOCATIONS() \ _ELF_DEFINE_RELOC(R_PPC_NONE, 0) \ From owner-svn-src-head@freebsd.org Mon Oct 12 15:39:04 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8544A11F48; Mon, 12 Oct 2015 15:39:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 39868F86; Mon, 12 Oct 2015 15:39:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CFd3V5041573; Mon, 12 Oct 2015 15:39:03 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CFd35j041572; Mon, 12 Oct 2015 15:39:03 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510121539.t9CFd35j041572@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 12 Oct 2015 15:39:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289190 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 15:39:05 -0000 Author: mav Date: Mon Oct 12 15:39:03 2015 New Revision: 289190 URL: https://svnweb.freebsd.org/changeset/base/289190 Log: MFV r289185: 6250 zvol_dump_init() can hold txg open Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Reviewed by: Albert Lee Reviewed by: Xin Li Approved by: Garrett D'Amore Author: George Wilson illumos/illumos-gate@b10bba72460aeaa53119c76ff5e647fd5585bece Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Mon Oct 12 15:35:34 2015 (r289189) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Mon Oct 12 15:39:03 2015 (r289190) @@ -2335,13 +2335,15 @@ zvol_dump_init(zvol_state_t *zv, boolean vdev_t *vd = spa->spa_root_vdev; nvlist_t *nv = NULL; uint64_t version = spa_version(spa); - enum zio_checksum checksum; + uint64_t checksum, compress, refresrv, vbs, dedup; ASSERT(MUTEX_HELD(&zfsdev_state_lock)); ASSERT(vd->vdev_ops == &vdev_root_ops); error = dmu_free_long_range(zv->zv_objset, ZVOL_OBJ, 0, DMU_OBJECT_END); + if (error != 0) + return (error); /* wait for dmu_free_long_range to actually free the blocks */ txg_wait_synced(dmu_objset_pool(zv->zv_objset), 0); @@ -2365,24 +2367,42 @@ zvol_dump_init(zvol_state_t *zv, boolean 2, ZFS_SPACE_CHECK_RESERVED); } + if (!resize) { + error = dsl_prop_get_integer(zv->zv_name, + zfs_prop_to_name(ZFS_PROP_COMPRESSION), &compress, NULL); + if (error == 0) { + error = dsl_prop_get_integer(zv->zv_name, + zfs_prop_to_name(ZFS_PROP_CHECKSUM), &checksum, + NULL); + } + if (error == 0) { + error = dsl_prop_get_integer(zv->zv_name, + zfs_prop_to_name(ZFS_PROP_REFRESERVATION), + &refresrv, NULL); + } + if (error == 0) { + error = dsl_prop_get_integer(zv->zv_name, + zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), &vbs, + NULL); + } + if (version >= SPA_VERSION_DEDUP && error == 0) { + error = dsl_prop_get_integer(zv->zv_name, + zfs_prop_to_name(ZFS_PROP_DEDUP), &dedup, NULL); + } + } + if (error != 0) + return (error); + tx = dmu_tx_create(os); dmu_tx_hold_zap(tx, ZVOL_ZAP_OBJ, TRUE, NULL); dmu_tx_hold_bonus(tx, ZVOL_OBJ); error = dmu_tx_assign(tx, TXG_WAIT); - if (error) { + if (error != 0) { dmu_tx_abort(tx); return (error); } /* - * If MULTI_VDEV_CRASH_DUMP is active, use the NOPARITY checksum - * function. Otherwise, use the old default -- OFF. - */ - checksum = spa_feature_is_active(spa, - SPA_FEATURE_MULTI_VDEV_CRASH_DUMP) ? ZIO_CHECKSUM_NOPARITY : - ZIO_CHECKSUM_OFF; - - /* * If we are resizing the dump device then we only need to * update the refreservation to match the newly updated * zvolsize. Otherwise, we save off the original state of the @@ -2393,37 +2413,30 @@ zvol_dump_init(zvol_state_t *zv, boolean zfs_prop_to_name(ZFS_PROP_REFRESERVATION), 8, 1, &zv->zv_volsize, tx); } else { - uint64_t checksum, compress, refresrv, vbs, dedup; - - error = dsl_prop_get_integer(zv->zv_name, - zfs_prop_to_name(ZFS_PROP_COMPRESSION), &compress, NULL); - error = error ? error : dsl_prop_get_integer(zv->zv_name, - zfs_prop_to_name(ZFS_PROP_CHECKSUM), &checksum, NULL); - error = error ? error : dsl_prop_get_integer(zv->zv_name, - zfs_prop_to_name(ZFS_PROP_REFRESERVATION), &refresrv, NULL); - error = error ? error : dsl_prop_get_integer(zv->zv_name, - zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), &vbs, NULL); - if (version >= SPA_VERSION_DEDUP) { - error = error ? error : - dsl_prop_get_integer(zv->zv_name, - zfs_prop_to_name(ZFS_PROP_DEDUP), &dedup, NULL); - } - - error = error ? error : zap_update(os, ZVOL_ZAP_OBJ, + error = zap_update(os, ZVOL_ZAP_OBJ, zfs_prop_to_name(ZFS_PROP_COMPRESSION), 8, 1, &compress, tx); - error = error ? error : zap_update(os, ZVOL_ZAP_OBJ, - zfs_prop_to_name(ZFS_PROP_CHECKSUM), 8, 1, &checksum, tx); - error = error ? error : zap_update(os, ZVOL_ZAP_OBJ, - zfs_prop_to_name(ZFS_PROP_REFRESERVATION), 8, 1, - &refresrv, tx); - error = error ? error : zap_update(os, ZVOL_ZAP_OBJ, - zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), 8, 1, - &vbs, tx); - error = error ? error : dmu_object_set_blocksize( - os, ZVOL_OBJ, SPA_OLD_MAXBLOCKSIZE, 0, tx); - if (version >= SPA_VERSION_DEDUP) { - error = error ? error : zap_update(os, ZVOL_ZAP_OBJ, + if (error == 0) { + error = zap_update(os, ZVOL_ZAP_OBJ, + zfs_prop_to_name(ZFS_PROP_CHECKSUM), 8, 1, + &checksum, tx); + } + if (error == 0) { + error = zap_update(os, ZVOL_ZAP_OBJ, + zfs_prop_to_name(ZFS_PROP_REFRESERVATION), 8, 1, + &refresrv, tx); + } + if (error == 0) { + error = zap_update(os, ZVOL_ZAP_OBJ, + zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), 8, 1, + &vbs, tx); + } + if (error == 0) { + error = dmu_object_set_blocksize( + os, ZVOL_OBJ, SPA_OLD_MAXBLOCKSIZE, 0, tx); + } + if (version >= SPA_VERSION_DEDUP && error == 0) { + error = zap_update(os, ZVOL_ZAP_OBJ, zfs_prop_to_name(ZFS_PROP_DEDUP), 8, 1, &dedup, tx); } @@ -2436,7 +2449,15 @@ zvol_dump_init(zvol_state_t *zv, boolean * We only need update the zvol's property if we are initializing * the dump area for the first time. */ - if (!resize) { + if (error == 0 && !resize) { + /* + * If MULTI_VDEV_CRASH_DUMP is active, use the NOPARITY checksum + * function. Otherwise, use the old default -- OFF. + */ + checksum = spa_feature_is_active(spa, + SPA_FEATURE_MULTI_VDEV_CRASH_DUMP) ? ZIO_CHECKSUM_NOPARITY : + ZIO_CHECKSUM_OFF; + VERIFY(nvlist_alloc(&nv, NV_UNIQUE_NAME, KM_SLEEP) == 0); VERIFY(nvlist_add_uint64(nv, zfs_prop_to_name(ZFS_PROP_REFRESERVATION), 0) == 0); @@ -2455,13 +2476,11 @@ zvol_dump_init(zvol_state_t *zv, boolean error = zfs_set_prop_nvlist(zv->zv_name, ZPROP_SRC_LOCAL, nv, NULL); nvlist_free(nv); - - if (error) - return (error); } /* Allocate the space for the dump */ - error = zvol_prealloc(zv); + if (error == 0) + error = zvol_prealloc(zv); return (error); } From owner-svn-src-head@freebsd.org Mon Oct 12 15:44:45 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9613AA1116B; Mon, 12 Oct 2015 15:44:45 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 43A1D138F; Mon, 12 Oct 2015 15:44:45 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CFii0t044352; Mon, 12 Oct 2015 15:44:44 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CFiiC9044351; Mon, 12 Oct 2015 15:44:44 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510121544.t9CFiiC9044351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 12 Oct 2015 15:44:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289191 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 15:44:45 -0000 Author: mav Date: Mon Oct 12 15:44:44 2015 New Revision: 289191 URL: https://svnweb.freebsd.org/changeset/base/289191 Log: MFV r289187: 6251 add tunable to disable free_bpobj processing Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Reviewed by: Simon Klinkert Reviewed by: Richard Elling Reviewed by: Albert Lee Reviewed by: Xin Li Approved by: Garrett D'Amore Author: George Wilson illumos/illumos-gate@139510fb6efa97dbe5f5479594b308d940cab8d1 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 15:39:03 2015 (r289190) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 15:44:44 2015 (r289191) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. */ #include @@ -102,6 +102,11 @@ SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, free_ma extern int zfs_txg_timeout; +/* + * Enable/disable the processing of the free_bpobj object. + */ +boolean_t zfs_free_bpobj_enabled = B_TRUE; + /* the order has to match pool_scan_type */ static scan_cb_t *scan_funcs[POOL_SCAN_FUNCS] = { NULL, @@ -1451,7 +1456,8 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * * have to worry about traversing it. It is also faster to free the * blocks than to scrub them. */ - if (spa_version(dp->dp_spa) >= SPA_VERSION_DEADLISTS) { + if (zfs_free_bpobj_enabled && + spa_version(dp->dp_spa) >= SPA_VERSION_DEADLISTS) { scn->scn_is_bptree = B_FALSE; scn->scn_zio_root = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); From owner-svn-src-head@freebsd.org Mon Oct 12 15:48:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A7341A1122E; Mon, 12 Oct 2015 15:48:46 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7067D15B9; Mon, 12 Oct 2015 15:48:46 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CFmjQK044529; Mon, 12 Oct 2015 15:48:45 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CFmjqt044528; Mon, 12 Oct 2015 15:48:45 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510121548.t9CFmjqt044528@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 12 Oct 2015 15:48:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289192 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 15:48:46 -0000 Author: mav Date: Mon Oct 12 15:48:45 2015 New Revision: 289192 URL: https://svnweb.freebsd.org/changeset/base/289192 Log: MFV r289188: 6281 prefetching should apply to 1MB reads Reviewed by: Matthew Ahrens Reviewed by: Paul Dagnelie Reviewed by: Alexander Motin Reviewed by: Dan McDonald Reviewed by: Justin Gibbs Reviewed by: Xin Li Approved by: Gordon Ross Author: George Wilson illumos/illumos-gate@632802744ef6d17e06d6980a95f631615c3b060f Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Mon Oct 12 15:44:44 2015 (r289191) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Mon Oct 12 15:48:45 2015 (r289192) @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ #include @@ -49,7 +49,7 @@ uint32_t zfetch_max_streams = 8; uint32_t zfetch_min_sec_reap = 2; /* max bytes to prefetch per stream (default 8MB) */ uint32_t zfetch_max_distance = 8 * 1024 * 1024; -/* number of bytes in a array_read at which we stop prefetching (1MB) */ +/* max number of bytes in an array_read in which we allow prefetching (1MB) */ uint64_t zfetch_array_rd_sz = 1024 * 1024; SYSCTL_DECL(_vfs_zfs); From owner-svn-src-head@freebsd.org Mon Oct 12 16:02:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 67783A1170A; Mon, 12 Oct 2015 16:02:11 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22DCD1F6C; Mon, 12 Oct 2015 16:02:11 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1ZlfY7-000KsK-Dl; Mon, 12 Oct 2015 19:02:07 +0300 Date: Mon, 12 Oct 2015 19:02:07 +0300 From: Slawa Olhovchenkov To: Alexander Motin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r289191 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <20151012160207.GD42243@zxy.spb.ru> References: <201510121544.t9CFiiC9044351@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201510121544.t9CFiiC9044351@repo.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 16:02:11 -0000 On Mon, Oct 12, 2015 at 03:44:44PM +0000, Alexander Motin wrote: > Author: mav > Date: Mon Oct 12 15:44:44 2015 > New Revision: 289191 > URL: https://svnweb.freebsd.org/changeset/base/289191 > > Log: > MFV r289187: 6251 add tunable to disable free_bpobj processing Still need FreeBSD-specific code to control this tunable? > Reviewed by: Matthew Ahrens > Reviewed by: Prakash Surya > Reviewed by: Simon Klinkert > Reviewed by: Richard Elling > Reviewed by: Albert Lee > Reviewed by: Xin Li > Approved by: Garrett D'Amore > Author: George Wilson > > illumos/illumos-gate@139510fb6efa97dbe5f5479594b308d940cab8d1 > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c > Directory Properties: > head/sys/cddl/contrib/opensolaris/ (props changed) > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 15:39:03 2015 (r289190) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 15:44:44 2015 (r289191) > @@ -20,7 +20,7 @@ > */ > /* > * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. > - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. > + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. > */ > > #include > @@ -102,6 +102,11 @@ SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, free_ma > > extern int zfs_txg_timeout; > > +/* > + * Enable/disable the processing of the free_bpobj object. > + */ > +boolean_t zfs_free_bpobj_enabled = B_TRUE; > + > /* the order has to match pool_scan_type */ > static scan_cb_t *scan_funcs[POOL_SCAN_FUNCS] = { > NULL, > @@ -1451,7 +1456,8 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * > * have to worry about traversing it. It is also faster to free the > * blocks than to scrub them. > */ > - if (spa_version(dp->dp_spa) >= SPA_VERSION_DEADLISTS) { > + if (zfs_free_bpobj_enabled && > + spa_version(dp->dp_spa) >= SPA_VERSION_DEADLISTS) { > scn->scn_is_bptree = B_FALSE; > scn->scn_zio_root = zio_root(dp->dp_spa, NULL, > NULL, ZIO_FLAG_MUSTSUCCEED); > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-head@freebsd.org Mon Oct 12 18:15:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87BFDA118C8; Mon, 12 Oct 2015 18:15:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DFE01DC; Mon, 12 Oct 2015 18:15:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CIFPlm088070; Mon, 12 Oct 2015 18:15:25 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CIFPj0088069; Mon, 12 Oct 2015 18:15:25 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510121815.t9CIFPj0088069@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 12 Oct 2015 18:15:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289194 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 18:15:26 -0000 Author: mav Date: Mon Oct 12 18:15:25 2015 New Revision: 289194 URL: https://svnweb.freebsd.org/changeset/base/289194 Log: FreeBSD-specific addition to r289191. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 17:53:08 2015 (r289193) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Oct 12 18:15:25 2015 (r289194) @@ -107,6 +107,9 @@ extern int zfs_txg_timeout; */ boolean_t zfs_free_bpobj_enabled = B_TRUE; +SYSCTL_INT(_vfs_zfs, OID_AUTO, free_bpobj_enabled, CTLFLAG_RWTUN, + &zfs_free_bpobj_enabled, 0, "Enable free_bpobj processing"); + /* the order has to match pool_scan_type */ static scan_cb_t *scan_funcs[POOL_SCAN_FUNCS] = { NULL, From owner-svn-src-head@freebsd.org Mon Oct 12 18:31:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09BA7A11C89; Mon, 12 Oct 2015 18:31:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D143FDB9; Mon, 12 Oct 2015 18:31:22 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CIVL8F093787; Mon, 12 Oct 2015 18:31:21 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CIVLUJ093780; Mon, 12 Oct 2015 18:31:21 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510121831.t9CIVLUJ093780@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 12 Oct 2015 18:31:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289195 - in head: etc/mtree lib/libarchive lib/libarchive/test lib/libarchive/tests usr.bin/cpio usr.bin/cpio/test usr.bin/cpio/tests usr.bin/tar usr.bin/tar/test usr.bin/tar/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 18:31:23 -0000 Author: ngie Date: Mon Oct 12 18:31:21 2015 New Revision: 289195 URL: https://svnweb.freebsd.org/changeset/base/289195 Log: Integrate the tests from lib/libarchive, usr.bin/cpio, and usr.bin/tar in to the FreeBSD test suite functional_test.sh was ported from bin/sh/tests/functional_test.sh, as a small wrapper around libarchive_test, bsdcpio_test, and bsdtar_test provided by upstream. A handful of testcases in lib/libarchive/tests have been disabled as they were failing when run with kyua test (see BROKEN_TESTS in lib/libarchive/tests/Makefile) As a sidenote: this removes the check/test targets from the Makefiles as they don't match the pattern used in the rest of the FreeBSD test suite. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Added: head/lib/libarchive/tests/ - copied from r289179, user/ngie/more-tests2/lib/libarchive/tests/ head/usr.bin/cpio/tests/ - copied from r289179, user/ngie/more-tests2/usr.bin/cpio/tests/ head/usr.bin/tar/tests/ - copied from r289179, user/ngie/more-tests2/usr.bin/tar/tests/ Deleted: head/lib/libarchive/test/ head/usr.bin/cpio/test/ head/usr.bin/tar/test/ Modified: head/etc/mtree/BSD.tests.dist head/lib/libarchive/Makefile head/lib/libarchive/tests/Makefile head/usr.bin/cpio/Makefile head/usr.bin/cpio/tests/Makefile head/usr.bin/tar/Makefile head/usr.bin/tar/tests/Makefile Directory Properties: head/ (props changed) Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Mon Oct 12 18:15:25 2015 (r289194) +++ head/etc/mtree/BSD.tests.dist Mon Oct 12 18:31:21 2015 (r289195) @@ -242,6 +242,8 @@ test-programs .. .. + libarchive + .. libc c063 .. @@ -518,6 +520,8 @@ .. cmp .. + cpio + .. col .. comm @@ -556,6 +560,8 @@ .. soelim .. + tar + .. timeout .. tr Modified: head/lib/libarchive/Makefile ============================================================================== --- head/lib/libarchive/Makefile Mon Oct 12 18:15:25 2015 (r289194) +++ head/lib/libarchive/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -398,11 +398,8 @@ MLINKS+= archive_write_set_options.3 arc MLINKS+= archive_write_set_options.3 archive_write_set_option.3 MLINKS+= libarchive.3 archive.3 -.PHONY: check test clean-test -check test: - cd ${.CURDIR}/test && make obj && make test - -clean-test: - cd ${.CURDIR}/test && make clean +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Modified: head/lib/libarchive/tests/Makefile ============================================================================== --- user/ngie/more-tests2/lib/libarchive/tests/Makefile Mon Oct 12 09:13:47 2015 (r289179) +++ head/lib/libarchive/tests/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -12,10 +12,6 @@ CFLAGS+= -I${.CURDIR:H} -I${.OBJDIR} CFLAGS+= -I${LIBARCHIVEDIR}/libarchive -I${LIBARCHIVEDIR}/test_utils CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1 -DEBUG_CFLAGS+= -g - -LIBADD.libarchive_test= archive - # Uncomment to link against dmalloc #LDADD+= -L/usr/local/lib -ldmalloc #CFLAGS+= -I/usr/local/include -DUSE_DMALLOC @@ -253,6 +249,8 @@ SRCS.libarchive_test= \ DPSRCS.libarchive_test= \ list.h +LIBADD.libarchive_test= archive + .PATH: ${LIBARCHIVEDIR}/test_utils SRCS.libarchive_test+= test_utils.c @@ -263,6 +261,8 @@ list.h: ${TESTS_SRCS} Makefile egrep -v '${BROKEN_TESTS:tW:C/ /|/g}') > ${.TARGET}.tmp @mv ${.TARGET}.tmp ${.TARGET} +CLEANFILES+= list.h list.h.tmp + FILES+= README FILES+= test_acl_pax.tar.uu FILES+= test_archive_string_conversion.txt.Z.uu @@ -452,6 +452,4 @@ FILES+= test_write_disk_hfs_compression. FILES+= test_write_disk_mac_metadata.tar.gz.uu FILES+= test_write_disk_no_hfs_compression.tgz.uu -CLEANFILES+= list.h list.h.tmp - .include Modified: head/usr.bin/cpio/Makefile ============================================================================== --- head/usr.bin/cpio/Makefile Mon Oct 12 18:15:25 2015 (r289194) +++ head/usr.bin/cpio/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -32,12 +32,8 @@ CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 SYMLINKS=bsdcpio ${BINDIR}/cpio MLINKS= bsdcpio.1 cpio.1 -.PHONY: check test clean-test - -check test: $(PROG) bsdcpio.1.gz - cd ${.CURDIR}/test && make obj && make test - -clean-test: - cd ${.CURDIR}/test && make clean +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Modified: head/usr.bin/cpio/tests/Makefile ============================================================================== --- user/ngie/more-tests2/usr.bin/cpio/tests/Makefile Mon Oct 12 09:13:47 2015 (r289179) +++ head/usr.bin/cpio/tests/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -4,9 +4,20 @@ LIBARCHIVEDIR= ${SRCTOP}/contrib/libarch ATF_TESTS_SH+= functional_test +BINDIR= ${TESTSDIR} + PROGS+= bsdcpio_test -BINDIR= ${TESTSDIR} +CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" +CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} + +CFLAGS+= -I${.OBJDIR} +CFLAGS+= -I${LIBARCHIVEDIR}/cpio -I${LIBARCHIVEDIR}/libarchive_fe +CFLAGS+= -I${LIBARCHIVEDIR}/test_utils + +# Uncomment to link against dmalloc +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC .PATH: ${LIBARCHIVEDIR}/cpio CPIO_SRCS= cmdline.c @@ -59,35 +70,26 @@ TESTS_SRCS= \ test_passthrough_dotdot.c \ test_passthrough_reverse.c -# Build the test program SRCS.bsdcpio_test= list.h \ ${CPIO_SRCS} \ ${TESTS_SRCS} \ main.c +DPSRCS.bsdcpio_test= \ + list.h + .PATH: ${LIBARCHIVEDIR}/test_utils SRCS.bsdcpio_test+= test_utils.c -CLEANFILES+= list.h - -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} -LIBADD= archive - -DEBUG_FLAGS+= -g -CFLAGS+= -I${.OBJDIR} -CFLAGS+= -I${LIBARCHIVEDIR}/cpio -I${LIBARCHIVEDIR}/libarchive_fe -CFLAGS+= -I${LIBARCHIVEDIR}/test_utils - -# Uncomment to link against dmalloc -#LDADD+= -L/usr/local/lib -ldmalloc -#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC +LIBADD.bsdcpio_test= archive list.h: ${TESTS_SRCS} Makefile @(cd ${LIBARCHIVEDIR}/tar/test && \ grep -h DEFINE_TEST ${.ALLSRC:N*Makefile}) > ${.TARGET}.tmp @mv ${.TARGET}.tmp ${.TARGET} +CLEANFILES+= list.h list.h.tmp + FILES+= test_extract.cpio.Z.uu FILES+= test_extract.cpio.bz2.uu FILES+= test_extract.cpio.grz.uu Modified: head/usr.bin/tar/Makefile ============================================================================== --- head/usr.bin/tar/Makefile Mon Oct 12 18:15:25 2015 (r289194) +++ head/usr.bin/tar/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -32,11 +32,8 @@ CFLAGS+= -I${LIBARCHIVEDIR}/libarchive_f SYMLINKS= bsdtar ${BINDIR}/tar MLINKS= bsdtar.1 tar.1 -.PHONY: check test clean-test -check test: $(PROG) bsdtar.1.gz - cd ${.CURDIR}/test && make obj && make test - -clean-test: - cd ${.CURDIR}/test && make clean +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Modified: head/usr.bin/tar/tests/Makefile ============================================================================== --- user/ngie/more-tests2/usr.bin/tar/tests/Makefile Mon Oct 12 09:13:47 2015 (r289179) +++ head/usr.bin/tar/tests/Makefile Mon Oct 12 18:31:21 2015 (r289195) @@ -6,6 +6,15 @@ ATF_TESTS_SH+= functional_test BINDIR= ${TESTSDIR} +CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" +CFLAGS+= -static +CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} +CFLAGS+= -I${LIBARCHIVEDIR}/tar -I${LIBARCHIVEDIR}/test_utils + +# Uncomment to link against dmalloc +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC + PROGS+= bsdtar_test .PATH: ${LIBARCHIVEDIR}/tar/test @@ -61,33 +70,17 @@ TESTS_SRCS= \ test_symlink_dir.c \ test_version.c -# Build the test program SRCS.bsdtar_test= \ ${TESTS_SRCS} \ list.h \ main.c -BROKEN_TESTS= - DPSRCS.bsdtar_test+= list.h .PATH: ${LIBARCHIVEDIR}/test_utils SRCS.bsdtar_test+= test_utils.c -CLEANFILES+= list.h - -LIBADD+= archive - -DEBUG_FLAGS+= -g -CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" -CFLAGS+= -static -Wall - -CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} -CFLAGS+= -I${LIBARCHIVEDIR}/tar -I${LIBARCHIVEDIR}/test_utils - -# Uncomment to link against dmalloc -#LDADD+= -L/usr/local/lib -ldmalloc -#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC +LIBADD.bsdtar_test= archive list.h: ${TESTS_SRCS} Makefile @(cd ${LIBARCHIVEDIR}/tar/test && \ From owner-svn-src-head@freebsd.org Mon Oct 12 20:21:18 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A2DCA116F7; Mon, 12 Oct 2015 20:21:18 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4629518E7; Mon, 12 Oct 2015 20:21:18 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CKLHjF026521; Mon, 12 Oct 2015 20:21:17 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CKLHwi026520; Mon, 12 Oct 2015 20:21:17 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201510122021.t9CKLHwi026520@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Mon, 12 Oct 2015 20:21:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289199 - head/sys/dev/bxe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 20:21:18 -0000 Author: davidcs Date: Mon Oct 12 20:21:17 2015 New Revision: 289199 URL: https://svnweb.freebsd.org/changeset/base/289199 Log: Add support for reading device temperature MFC after:5 days Modified: head/sys/dev/bxe/bxe.c Modified: head/sys/dev/bxe/bxe.c ============================================================================== --- head/sys/dev/bxe/bxe.c Mon Oct 12 18:53:37 2015 (r289198) +++ head/sys/dev/bxe/bxe.c Mon Oct 12 20:21:17 2015 (r289199) @@ -16122,9 +16122,12 @@ bxe_sysctl_state(SYSCTL_HANDLER_ARGS) } if (result == 1) { + uint32_t temp; sc = (struct bxe_softc *)arg1; + BLOGI(sc, "... dumping driver state ...\n"); - /* XXX */ + temp = SHMEM2_RD(sc, temperature_in_half_celsius); + BLOGI(sc, "\t Device Temperature = %d Celsius\n", (temp/2)); } return (error); From owner-svn-src-head@freebsd.org Mon Oct 12 21:02:38 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D836A123EE; Mon, 12 Oct 2015 21:02:38 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F213D17CF; Mon, 12 Oct 2015 21:02:37 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9CL2bV9038089; Mon, 12 Oct 2015 21:02:37 GMT (envelope-from peter@FreeBSD.org) Received: (from peter@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9CL2aHq038087; Mon, 12 Oct 2015 21:02:36 GMT (envelope-from peter@FreeBSD.org) Message-Id: <201510122102.t9CL2aHq038087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: peter set sender to peter@FreeBSD.org using -f From: Peter Wemm Date: Mon, 12 Oct 2015 21:02:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289200 - in head: . etc/sendmail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 21:02:38 -0000 Author: peter Date: Mon Oct 12 21:02:36 2015 New Revision: 289200 URL: https://svnweb.freebsd.org/changeset/base/289200 Log: If world is built with a custom sendmail.cf, use it for the distribution target. This is the feeder for mergemaster / etcupdate. This change makes installworld/mergemaster/etcupdate behave the same regardless of whether SENDMAIL_MC or SENDMAIL_CF is used. If you use a custom SENDMAIL_MC/CF in make.conf and excluded it from mergemaster.rc/etcupdate.conf to work around the conflicts, you may wish to revert that or change it from 'ignore' to 'always install'. If you do not use a custom SENDMAIL_MC/CF, there should be no change in behavior. Modified: head/UPDATING head/etc/sendmail/Makefile Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Oct 12 20:21:17 2015 (r289199) +++ head/UPDATING Mon Oct 12 21:02:36 2015 (r289200) @@ -31,6 +31,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20151012: + If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster + and etcupdate will now use this file. A custom sendmail.cf is now + updated via this mechanism rather than via installworld. If you had + excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may + want to remove the exclusion or change it to "always install". + /etc/mail/sendmail.cf is now managed the same way regardless of + whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using + SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. + 20151011: Compatibility shims for legacy ATA device names have been removed. It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases Modified: head/etc/sendmail/Makefile ============================================================================== --- head/etc/sendmail/Makefile Mon Oct 12 20:21:17 2015 (r289199) +++ head/etc/sendmail/Makefile Mon Oct 12 21:02:36 2015 (r289200) @@ -72,24 +72,25 @@ distribution: ${SMDIR}/helpfile ${DESTDIR}/etc/mail ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 640 \ /dev/null ${DESTDIR}/var/log/sendmail.st - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ - freebsd.cf ${DEST_CF} - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ - freebsd.submit.cf ${DEST_SUBMIT_CF} - -install: -.if defined(INSTALL_CF) && ${INSTALL_CF} != ${DEST_CF} +.if defined(INSTALL_CF) ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ ${INSTALL_CF} ${DEST_CF} +.else + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + freebsd.cf ${DEST_CF} .endif .if defined(SENDMAIL_ADDITIONAL_CF) ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ ${SENDMAIL_ADDITIONAL_CF} ${DESTDIR}/etc/mail .endif -.if !defined(SENDMAIL_SET_USER_ID) && \ - defined(INSTALL_SUBMIT_CF) && ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF} - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ +.if !defined(SENDMAIL_SET_USER_ID) +.if defined(INSTALL_SUBMIT_CF) + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF} +.else + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + freebsd.submit.cf ${DEST_SUBMIT_CF} +.endif .endif .include From owner-svn-src-head@freebsd.org Tue Oct 13 01:04:40 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31E1F344E; Tue, 13 Oct 2015 01:04:40 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D7832A48; Tue, 13 Oct 2015 01:04:39 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D14cG7008476; Tue, 13 Oct 2015 01:04:38 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D14cfM008475; Tue, 13 Oct 2015 01:04:38 GMT (envelope-from np@FreeBSD.org) Message-Id: <201510130104.t9D14cfM008475@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 13 Oct 2015 01:04:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289201 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 01:04:40 -0000 Author: np Date: Tue Oct 13 01:04:38 2015 New Revision: 289201 URL: https://svnweb.freebsd.org/changeset/base/289201 Log: iw_cxgbe: MPA v2 is always available. Submitted by: Krishnamraju Eraparaju at chelsio dot com Reviewed by: Steve Wise at opengridcomputing dot com Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/cm.c Mon Oct 12 21:02:36 2015 (r289200) +++ head/sys/dev/cxgbe/iw_cxgbe/cm.c Tue Oct 13 01:04:38 2015 (r289201) @@ -808,13 +808,8 @@ SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, ep_ti "CM Endpoint operation timeout in seconds (default = 60)"); static int mpa_rev = 1; -#ifdef IW_CM_MPAV2 SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, mpa_rev, CTLFLAG_RWTUN, &mpa_rev, 0, "MPA Revision, 0 supports amso1100, 1 is RFC0544 spec compliant, 2 is IETF MPA Peer Connect Draft compliant (default = 1)"); -#else -SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, mpa_rev, CTLFLAG_RWTUN, &mpa_rev, 0, - "MPA Revision, 0 supports amso1100, 1 is RFC0544 spec compliant (default = 1)"); -#endif static int markers_enabled; SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, markers_enabled, CTLFLAG_RWTUN, &markers_enabled, 0, @@ -1335,10 +1330,8 @@ static int connect_request_upcall(struct if (!ep->tried_with_mpa_v1) { /* this means MPA_v2 is used */ -#ifdef IW_CM_MPAV2 event.ord = ep->ord; event.ird = ep->ird; -#endif event.private_data_len = ep->plen - sizeof(struct mpa_v2_conn_params); event.private_data = ep->mpa_pkt + sizeof(struct mpa_message) + @@ -1346,10 +1339,8 @@ static int connect_request_upcall(struct } else { /* this means MPA_v1 is used. Send max supported */ -#ifdef IW_CM_MPAV2 event.ord = c4iw_max_read_depth; event.ird = c4iw_max_read_depth; -#endif event.private_data_len = ep->plen; event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); } @@ -1372,10 +1363,9 @@ static void established_upcall(struct c4 CTR2(KTR_IW_CXGBE, "%s:euB %p", __func__, ep); memset(&event, 0, sizeof(event)); event.event = IW_CM_EVENT_ESTABLISHED; -#ifdef IW_CM_MPAV2 event.ird = ep->ird; event.ord = ep->ord; -#endif + if (ep->com.cm_id) { CTR2(KTR_IW_CXGBE, "%s:eu1 %p", __func__, ep); From owner-svn-src-head@freebsd.org Tue Oct 13 02:17:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5B2999D2A49; Tue, 13 Oct 2015 02:17:57 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2728DA67; Tue, 13 Oct 2015 02:17:57 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D2Huod028700; Tue, 13 Oct 2015 02:17:56 GMT (envelope-from jah@FreeBSD.org) Received: (from jah@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D2HuHT028699; Tue, 13 Oct 2015 02:17:56 GMT (envelope-from jah@FreeBSD.org) Message-Id: <201510130217.t9D2HuHT028699@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jah set sender to jah@FreeBSD.org using -f From: "Jason A. Harmening" Date: Tue, 13 Oct 2015 02:17:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289202 - head/sys/x86/x86 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 02:17:57 -0000 Author: jah Date: Tue Oct 13 02:17:56 2015 New Revision: 289202 URL: https://svnweb.freebsd.org/changeset/base/289202 Log: Ensure the client regions for unmapped bounce buffers created through bus_dmamap_load_phys() do not span multiple pages. This is already done for mapped buffers. While here, stop casting bus_addr_t to vm_offset_t. Modified: head/sys/x86/x86/busdma_bounce.c Modified: head/sys/x86/x86/busdma_bounce.c ============================================================================== --- head/sys/x86/x86/busdma_bounce.c Tue Oct 13 01:04:38 2015 (r289201) +++ head/sys/x86/x86/busdma_bounce.c Tue Oct 13 02:17:56 2015 (r289202) @@ -476,7 +476,8 @@ _bus_dmamap_count_phys(bus_dma_tag_t dma while (buflen != 0) { sgsize = MIN(buflen, dmat->common.maxsegsz); if (bus_dma_run_filter(&dmat->common, curaddr)) { - sgsize = MIN(sgsize, PAGE_SIZE); + sgsize = MIN(sgsize, + PAGE_SIZE - (curaddr & PAGE_MASK)); map->pagesneeded++; } curaddr += sgsize; @@ -630,7 +631,7 @@ bounce_bus_dmamap_load_phys(bus_dma_tag_ if (((dmat->bounce_flags & BUS_DMA_COULD_BOUNCE) != 0) && map->pagesneeded != 0 && bus_dma_run_filter(&dmat->common, curaddr)) { - sgsize = MIN(sgsize, PAGE_SIZE); + sgsize = MIN(sgsize, PAGE_SIZE - (curaddr & PAGE_MASK)); curaddr = add_bounce_page(dmat, map, 0, curaddr, sgsize); } @@ -694,7 +695,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_ta * Compute the segment size, and adjust counts. */ max_sgsize = MIN(buflen, dmat->common.maxsegsz); - sgsize = PAGE_SIZE - ((vm_offset_t)curaddr & PAGE_MASK); + sgsize = PAGE_SIZE - (curaddr & PAGE_MASK); if (((dmat->bounce_flags & BUS_DMA_COULD_BOUNCE) != 0) && map->pagesneeded != 0 && bus_dma_run_filter(&dmat->common, curaddr)) { From owner-svn-src-head@freebsd.org Tue Oct 13 02:32:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2BF89D2FBC; Tue, 13 Oct 2015 02:32:16 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7419312FD; Tue, 13 Oct 2015 02:32:16 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D2WF85034268; Tue, 13 Oct 2015 02:32:15 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D2WFo2034264; Tue, 13 Oct 2015 02:32:15 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510130232.t9D2WFo2034264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Tue, 13 Oct 2015 02:32:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289203 - head/usr.sbin/makefs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 02:32:16 -0000 Author: adrian Date: Tue Oct 13 02:32:15 2015 New Revision: 289203 URL: https://svnweb.freebsd.org/changeset/base/289203 Log: makefs: introduce a new option to specify what to round the resulting image up to. From ticket: While trying to run FreeBSD/mips on some device having very small flash media, one is forced to compress file system with mkulzma(8) utility. It is desirable to specify small UFS block/fragment sizes like 4096/512 bytes for makefs(8) and big compression block size like 65535 bytes to mkulzma at the same time. Then one obtains very good comression ratios (like 75% and more) but faces the following problem. geom_uncompress kernel module reports GEOM provider size rounded up to its compression block size. Generally, this changes original media size and now it fails to match the size of embedded UFS file system that leads to other problems, f.e. geom_label kernel module does not like this and skips the file system while tasting the GEOM and looking for UFS label. This makes it impossible to refer to the file system using known UFS label instead of something like /dev/map/rootfs.uncompress. The following patch introduces new command line option "-r roundup" for makefs that makes it round up the image to specified block size. Hence, geom_uncompress does not change GEOM media size for images rounded that way and geom_label accepts such GEOMs just fine. With the patch applied, one can use following commands: $ makefs -t ffs -r 65536 -o bsize=4096,fsize=512,label=flash optimization=space fs.img fs $ mkulzma -s 65536 -o fs.img.ulzma fs.img PR: bin/203707 Submitted by: Modified: head/usr.sbin/makefs/ffs.c head/usr.sbin/makefs/makefs.8 head/usr.sbin/makefs/makefs.c head/usr.sbin/makefs/makefs.h Modified: head/usr.sbin/makefs/ffs.c ============================================================================== --- head/usr.sbin/makefs/ffs.c Tue Oct 13 02:17:56 2015 (r289202) +++ head/usr.sbin/makefs/ffs.c Tue Oct 13 02:32:15 2015 (r289203) @@ -418,6 +418,10 @@ ffs_validate(const char *dir, fsnode *ro /* round up to the next block */ fsopts->size = roundup(fsopts->size, ffs_opts->bsize); + /* round up to requested block size, if any */ + if (fsopts->roundup > 0) + fsopts->size = roundup(fsopts->size, fsopts->roundup); + /* calculate density if necessary */ if (ffs_opts->density == -1) ffs_opts->density = fsopts->size / fsopts->inodes + 1; Modified: head/usr.sbin/makefs/makefs.8 ============================================================================== --- head/usr.sbin/makefs/makefs.8 Tue Oct 13 02:17:56 2015 (r289202) +++ head/usr.sbin/makefs/makefs.8 Tue Oct 13 02:32:15 2015 (r289203) @@ -53,6 +53,7 @@ .Op Fl m Ar maximum-size .Op Fl N Ar userdb-dir .Op Fl o Ar fs-options +.Op Fl r Ar roundup .Op Fl S Ar sector-size .Op Fl s Ar image-size .Op Fl t Ar fs-type @@ -195,6 +196,9 @@ Deprecated. See the .Fl Z flag. +.It Fl r Ar roundup +Round the image up to specified block size that should be multiple +of block size. .It Fl S Ar sector-size Set the file system sector size to .Ar sector-size . Modified: head/usr.sbin/makefs/makefs.c ============================================================================== --- head/usr.sbin/makefs/makefs.c Tue Oct 13 02:17:56 2015 (r289202) +++ head/usr.sbin/makefs/makefs.c Tue Oct 13 02:32:15 2015 (r289203) @@ -113,7 +113,7 @@ main(int argc, char *argv[]) start_time.tv_sec = start.tv_sec; start_time.tv_nsec = start.tv_usec * 1000; - while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:xZ")) != -1) { + while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:pr:s:S:t:xZ")) != -1) { switch (ch) { case 'B': @@ -209,6 +209,12 @@ main(int argc, char *argv[]) fsoptions.sparse = 1; break; + case 'r': + /* Round image size up to specified block size */ + fsoptions.roundup = + strsuftoll("roundup", optarg, 0, LLONG_MAX); + break; + case 's': fsoptions.minsize = fsoptions.maxsize = strsuftoll("size", optarg, 1LL, LLONG_MAX); @@ -359,9 +365,9 @@ usage(void) prog = getprogname(); fprintf(stderr, "usage: %s [-t fs-type] [-o fs-options] [-d debug-mask] [-B endian]\n" -"\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-s image-size]\n" -"\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-xZ]\n" -"\t[-N userdb-dir] image-file directory | manifest [extra-directory ...]\n", +"\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-r roundup ]\n" +"\t[-s image-size] [-b free-blocks] [-f free-files] [-F mtree-specfile]\n" +"\t[-xZ] [-N userdb-dir] image-file directory | manifest [extra-directory ...]\n", prog); exit(1); } Modified: head/usr.sbin/makefs/makefs.h ============================================================================== --- head/usr.sbin/makefs/makefs.h Tue Oct 13 02:17:56 2015 (r289202) +++ head/usr.sbin/makefs/makefs.h Tue Oct 13 02:32:15 2015 (r289203) @@ -130,6 +130,7 @@ typedef struct { int needswap; /* non-zero if byte swapping needed */ int sectorsize; /* sector size */ int sparse; /* sparse image, don't fill it with zeros */ + off_t roundup; /* round image size up to this value */ void *fs_specific; /* File system specific additions. */ } fsinfo_t; From owner-svn-src-head@freebsd.org Tue Oct 13 02:34:43 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31339A1010A; Tue, 13 Oct 2015 02:34:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E077C152D; Tue, 13 Oct 2015 02:34:42 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D2Yfwm034411; Tue, 13 Oct 2015 02:34:41 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D2Yf1a034409; Tue, 13 Oct 2015 02:34:41 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201510130234.t9D2Yf1a034409@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Tue, 13 Oct 2015 02:34:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289204 - head/sbin/casperd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 02:34:43 -0000 Author: adrian Date: Tue Oct 13 02:34:41 2015 New Revision: 289204 URL: https://svnweb.freebsd.org/changeset/base/289204 Log: casperd: bump default socket queue length to SOMAXCONN; make length configurable. The current default listen queue for casperd is too small (8) and hard-coded. This patch increases the default to SOMAXCONN, and introduces a command line flag that can used to further increase or decrease the queue length. PR: bin/202147 Submitted by: Modified: head/sbin/casperd/casperd.8 head/sbin/casperd/casperd.c Modified: head/sbin/casperd/casperd.8 ============================================================================== --- head/sbin/casperd/casperd.8 Tue Oct 13 02:32:15 2015 (r289203) +++ head/sbin/casperd/casperd.8 Tue Oct 13 02:34:41 2015 (r289204) @@ -35,8 +35,8 @@ .Nd "Capability Services friendly daemon" .Sh SYNOPSIS .Nm -[-Fhv] [-D servconfdir] [-P pidfile] [-S sockpath] .Op Fl Fhv +.Op Fl l Ar listenqueue .Op Fl D Ar servconfdir .Op Fl P Ar pidfile .Op Fl S Ar sockpath @@ -74,6 +74,12 @@ starts in the background. Print the .Nm usage message. +.It Fl l Ar listenqueue +Specify depth of socket listen queue for the +.Nm +daemon. +The default queue length is +.Pa SOMAXCONN . .It Fl P Ar pidfile Specify alternative location of a file where main process PID will be stored. Modified: head/sbin/casperd/casperd.c ============================================================================== --- head/sbin/casperd/casperd.c Tue Oct 13 02:32:15 2015 (r289203) +++ head/sbin/casperd/casperd.c Tue Oct 13 02:34:41 2015 (r289204) @@ -534,7 +534,7 @@ casper_accept(int lsock) } static void -main_loop(const char *sockpath, struct pidfh *pfh) +main_loop(int lqlen, const char *sockpath, struct pidfh *pfh) { fd_set fds; struct sockaddr_un sun; @@ -559,7 +559,7 @@ main_loop(const char *sockpath, struct p if (bind(lsock, (struct sockaddr *)&sun, sizeof(sun)) == -1) pjdlog_exit(1, "Unable to bind to %s", sockpath); (void)umask(oldumask); - if (listen(lsock, 8) == -1) + if (listen(lsock, lqlen) == -1) pjdlog_exit(1, "Unable to listen on %s", sockpath); for (;;) { @@ -627,18 +627,19 @@ main(int argc, char *argv[]) struct pidfh *pfh; const char *pidfile, *servconfdir, *sockpath; pid_t otherpid; - int ch, debug; + int ch, debug, lqlen; bool foreground; pjdlog_init(PJDLOG_MODE_STD); debug = 0; foreground = false; + lqlen = SOMAXCONN; pidfile = CASPERD_PIDFILE; servconfdir = CASPERD_SERVCONFDIR; sockpath = CASPERD_SOCKPATH; - while ((ch = getopt(argc, argv, "D:FhP:S:v")) != -1) { + while ((ch = getopt(argc, argv, "D:Fhl:P:S:v")) != -1) { switch (ch) { case 'D': servconfdir = optarg; @@ -646,6 +647,11 @@ main(int argc, char *argv[]) case 'F': foreground = true; break; + case 'l': + lqlen = strtol(optarg, NULL, 0); + if (lqlen < 1) + lqlen = SOMAXCONN; + break; case 'P': pidfile = optarg; break; @@ -711,5 +717,5 @@ main(int argc, char *argv[]) /* * Wait for connections. */ - main_loop(sockpath, pfh); + main_loop(lqlen, sockpath, pfh); } From owner-svn-src-head@freebsd.org Tue Oct 13 03:10:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C1AB9A10C66; Tue, 13 Oct 2015 03:10:05 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87DF39A9; Tue, 13 Oct 2015 03:10:05 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D3A4hZ043787; Tue, 13 Oct 2015 03:10:04 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D3A4Uq043786; Tue, 13 Oct 2015 03:10:04 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510130310.t9D3A4Uq043786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Tue, 13 Oct 2015 03:10:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289205 - head/sys/dev/ntb/ntb_hw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:10:05 -0000 Author: cem Date: Tue Oct 13 03:10:04 2015 New Revision: 289205 URL: https://svnweb.freebsd.org/changeset/base/289205 Log: NTB: MFV 87034511: Correct Number of Scratch Pad Registers The NTB Xeon hardware has 16 scratch pad registers and 16 back-to-back scratch pad registers. Correct the #define to represent this and update the variable names to reflect their usage. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_regs.h Modified: head/sys/dev/ntb/ntb_hw/ntb_regs.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_regs.h Tue Oct 13 02:34:41 2015 (r289204) +++ head/sys/dev/ntb/ntb_hw/ntb_regs.h Tue Oct 13 03:10:04 2015 (r289205) @@ -37,7 +37,7 @@ #define XEON_MSIX_CNT 4 #define XEON_MAX_SPADS 16 -#define XEON_MAX_COMPAT_SPADS 8 +#define XEON_MAX_COMPAT_SPADS 16 /* Reserve the uppermost bit for link interrupt */ #define XEON_MAX_DB_BITS 15 #define XEON_DB_BITS_PER_VEC 5 From owner-svn-src-head@freebsd.org Tue Oct 13 03:10:38 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DEBDA10CD6; Tue, 13 Oct 2015 03:10:38 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2503EB78; Tue, 13 Oct 2015 03:10:38 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D3Ab1o045757; Tue, 13 Oct 2015 03:10:37 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D3Abtc045756; Tue, 13 Oct 2015 03:10:37 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510130310.t9D3Abtc045756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Tue, 13 Oct 2015 03:10:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289206 - head/sys/dev/ntb/ntb_hw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:10:38 -0000 Author: cem Date: Tue Oct 13 03:10:36 2015 New Revision: 289206 URL: https://svnweb.freebsd.org/changeset/base/289206 Log: NTB: MFV b6750cfe: Correct USD/DSD Identification Due to ambiguous documentation, the USD/DSD identification is backward when compared to the setting in BIOS. Correct the bits to match the BIOS setting. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:10:04 2015 (r289205) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:10:36 2015 (r289206) @@ -690,9 +690,9 @@ ntb_setup_xeon(struct ntb_softc *ntb) } if ((val & XEON_PPD_DEV_TYPE) != 0) - ntb->dev_type = NTB_DEV_DSD; - else ntb->dev_type = NTB_DEV_USD; + else + ntb->dev_type = NTB_DEV_DSD; ntb->reg_ofs.pdb = XEON_PDOORBELL_OFFSET; ntb->reg_ofs.pdb_mask = XEON_PDBMSK_OFFSET; From owner-svn-src-head@freebsd.org Tue Oct 13 03:11:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A889BA10D3E; Tue, 13 Oct 2015 03:11:22 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58800D6E; Tue, 13 Oct 2015 03:11:22 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D3BLuc045848; Tue, 13 Oct 2015 03:11:21 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D3BL9p045845; Tue, 13 Oct 2015 03:11:21 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510130311.t9D3BL9p045845@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Tue, 13 Oct 2015 03:11:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289207 - in head/sys/dev/ntb: if_ntb ntb_hw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:11:22 -0000 Author: cem Date: Tue Oct 13 03:11:21 2015 New Revision: 289207 URL: https://svnweb.freebsd.org/changeset/base/289207 Log: NTB: Add hw.ntb sysctl node Modified: head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/ntb/ntb_hw/ntb_hw.c head/sys/dev/ntb/ntb_hw/ntb_hw.h Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:10:36 2015 (r289206) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:11:21 2015 (r289207) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:10:36 2015 (r289206) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:11:21 2015 (r289207) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -232,6 +233,8 @@ static devclass_t ntb_devclass; DRIVER_MODULE(ntb_hw, pci, ntb_pci_driver, ntb_devclass, NULL, NULL); MODULE_VERSION(ntb_hw, 1); +SYSCTL_NODE(_hw, OID_AUTO, ntb, CTLFLAG_RW, 0, "NTB sysctls"); + /* * OS <-> Driver linkage functions */ Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.h Tue Oct 13 03:10:36 2015 (r289206) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.h Tue Oct 13 03:11:21 2015 (r289207) @@ -44,6 +44,8 @@ enum ntb_hw_event { NTB_EVENT_HW_LINK_DOWN, }; +SYSCTL_DECL(_hw_ntb); + typedef void (*ntb_db_callback)(void *data, int db_num); typedef void (*ntb_event_callback)(void *data, enum ntb_hw_event event); From owner-svn-src-head@freebsd.org Tue Oct 13 03:12:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B20DA10E61; Tue, 13 Oct 2015 03:12:13 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70066FF4; Tue, 13 Oct 2015 03:12:13 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D3CCrJ046617; Tue, 13 Oct 2015 03:12:12 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D3CCm2046612; Tue, 13 Oct 2015 03:12:12 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510130312.t9D3CCm2046612@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Tue, 13 Oct 2015 03:12:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289208 - in head/sys/dev/ntb: if_ntb ntb_hw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:12:13 -0000 Author: cem Date: Tue Oct 13 03:12:11 2015 New Revision: 289208 URL: https://svnweb.freebsd.org/changeset/base/289208 Log: NTB: MFV 948d3a65: Xeon Errata Workaround There is a Xeon hardware errata related to writes to SDOORBELL or B2BDOORBELL in conjunction with inbound access to NTB MMIO Space, which may hang the system. To workaround this issue, use one of the memory windows to access the interrupt and scratch pad registers on the remote system. This bypasses the issue, but removes one of the memory windows from use by the transport. This reduction of MWs necessitates adding some logic to determine the number of available MWs. Since some NTB usage methodologies may have unidirectional traffic, the ability to disable the workaround via modparm has been added. See BF113 in http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-c5500-c3500-spec-update.pdf See BT119 in http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-e5-family-spec-update.pdf Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/ntb/ntb_hw/ntb_hw.c head/sys/dev/ntb/ntb_hw/ntb_hw.h head/sys/dev/ntb/ntb_hw/ntb_regs.h Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:11:21 2015 (r289207) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:12:11 2015 (r289208) @@ -78,6 +78,11 @@ __FBSDID("$FreeBSD$"); #define NTB_RXQ_SIZE 300 static unsigned int transport_mtu = 0x4000 + ETHER_HDR_LEN + ETHER_CRC_LEN; + +/* + * This is an oversimplification to work around Xeon Errata. The second client + * may be usable for unidirectional traffic. + */ static unsigned int max_num_clients = 1; STAILQ_HEAD(ntb_queue_list, ntb_queue_entry); @@ -1032,11 +1037,16 @@ ntb_transport_link_work(void *arg) struct ntb_softc *ntb = nt->ntb; struct ntb_transport_qp *qp; uint64_t val64; - uint32_t val; - int rc, i; + uint32_t val, i, num_mw; + int rc; + + if (ntb_has_feature(ntb, NTB_REGS_THRU_MW)) + num_mw = NTB_NUM_MW - 1; + else + num_mw = NTB_NUM_MW; /* send the local info, in the opposite order of the way we read it */ - for (i = 0; i < NTB_NUM_MW; i++) { + for (i = 0; i < num_mw; i++) { rc = ntb_write_remote_spad(ntb, IF_NTB_MW0_SZ_HIGH + (i * 2), ntb_get_mw_size(ntb, i) >> 32); if (rc != 0) @@ -1048,7 +1058,7 @@ ntb_transport_link_work(void *arg) goto out; } - rc = ntb_write_remote_spad(ntb, IF_NTB_NUM_MWS, NTB_NUM_MW); + rc = ntb_write_remote_spad(ntb, IF_NTB_NUM_MWS, num_mw); if (rc != 0) goto out; @@ -1079,10 +1089,10 @@ ntb_transport_link_work(void *arg) if (rc != 0) goto out; - if (val != NTB_NUM_MW) + if (val != num_mw) goto out; - for (i = 0; i < NTB_NUM_MW; i++) { + for (i = 0; i < num_mw; i++) { rc = ntb_read_local_spad(ntb, IF_NTB_MW0_SZ_HIGH + (i * 2), &val); if (rc != 0) Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:11:21 2015 (r289207) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:12:11 2015 (r289208) @@ -81,9 +81,6 @@ enum ntb_device_type { #define HAS_FEATURE(feature) \ ((ntb->features & (feature)) != 0) -#define NTB_BAR_SIZE_4K (1 << 0) -#define NTB_REGS_THRU_MW (1 << 1) - struct ntb_hw_info { uint32_t device_id; const char *desc; @@ -131,9 +128,9 @@ struct ntb_softc { struct ntb_db_cb *db_cb; struct { - uint32_t max_spads; - uint32_t max_db_bits; - uint32_t msix_cnt; + uint8_t max_spads; + uint8_t max_db_bits; + uint8_t msix_cnt; } limits; struct { uint32_t pdb; @@ -706,6 +703,28 @@ ntb_setup_xeon(struct ntb_softc *ntb) ntb->reg_ofs.spad_local = XEON_SPAD_OFFSET; ntb->reg_ofs.spci_cmd = XEON_PCICMD_OFFSET; + /* + * There is a Xeon hardware errata related to writes to SDOORBELL or + * B2BDOORBELL in conjunction with inbound access to NTB MMIO space, + * which may hang the system. To workaround this use the second memory + * window to access the interrupt and scratch pad registers on the + * remote system. + */ + if (HAS_FEATURE(NTB_REGS_THRU_MW)) + /* + * Set the Limit register to 4k, the minimum size, to prevent + * an illegal access. + */ + ntb_reg_write(8, XEON_PBAR4LMT_OFFSET, + ntb_get_mw_size(ntb, 1) + 0x1000); + else + /* + * Disable the limit register, just in case it is set to + * something silly. + */ + ntb_reg_write(8, XEON_PBAR4LMT_OFFSET, 0); + + if (ntb->conn_type == NTB_CONN_B2B) { ntb->reg_ofs.sdb = XEON_B2B_DOORBELL_OFFSET; ntb->reg_ofs.spad_remote = XEON_B2B_SPAD_OFFSET; @@ -825,9 +844,18 @@ configure_xeon_secondary_side_bars(struc if (HAS_FEATURE(NTB_REGS_THRU_MW)) ntb_reg_write(8, XEON_PBAR4XLAT_OFFSET, MBAR01_DSD_ADDR); - else + else { ntb_reg_write(8, XEON_PBAR4XLAT_OFFSET, PBAR4XLAT_USD_ADDR); + /* + * B2B_XLAT_OFFSET is a 64-bit register but can only be + * written 32 bits at a time. + */ + ntb_reg_write(4, XEON_B2B_XLAT_OFFSETL, + MBAR01_DSD_ADDR & 0xffffffff); + ntb_reg_write(4, XEON_B2B_XLAT_OFFSETU, + MBAR01_DSD_ADDR >> 32); + } ntb_reg_write(8, XEON_SBAR0BASE_OFFSET, MBAR01_USD_ADDR); ntb_reg_write(8, XEON_SBAR2BASE_OFFSET, MBAR23_USD_ADDR); ntb_reg_write(8, XEON_SBAR4BASE_OFFSET, MBAR45_USD_ADDR); @@ -836,9 +864,18 @@ configure_xeon_secondary_side_bars(struc if (HAS_FEATURE(NTB_REGS_THRU_MW)) ntb_reg_write(8, XEON_PBAR4XLAT_OFFSET, MBAR01_USD_ADDR); - else + else { ntb_reg_write(8, XEON_PBAR4XLAT_OFFSET, PBAR4XLAT_DSD_ADDR); + /* + * B2B_XLAT_OFFSET is a 64-bit register but can only be + * written 32 bits at a time. + */ + ntb_reg_write(4, XEON_B2B_XLAT_OFFSETL, + MBAR01_USD_ADDR & 0xffffffff); + ntb_reg_write(4, XEON_B2B_XLAT_OFFSETU, + MBAR01_USD_ADDR >> 32); + } ntb_reg_write(8, XEON_SBAR0BASE_OFFSET, MBAR01_DSD_ADDR); ntb_reg_write(8, XEON_SBAR2BASE_OFFSET, MBAR23_DSD_ADDR); ntb_reg_write(8, XEON_SBAR4BASE_OFFSET, MBAR45_DSD_ADDR); @@ -1171,7 +1208,7 @@ ntb_unregister_transport(struct ntb_soft * * RETURNS: total number of scratch pad registers available */ -int +uint8_t ntb_get_max_spads(struct ntb_softc *ntb) { @@ -1415,3 +1452,11 @@ device_t ntb_get_device(struct ntb_softc return (ntb->device); } + +/* Export HW-specific errata information. */ +bool +ntb_has_feature(struct ntb_softc *ntb, uint64_t feature) +{ + + return (HAS_FEATURE(feature)); +} Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.h Tue Oct 13 03:11:21 2015 (r289207) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.h Tue Oct 13 03:12:11 2015 (r289208) @@ -58,7 +58,7 @@ void *ntb_find_transport(struct ntb_soft struct ntb_softc *ntb_register_transport(struct ntb_softc *ntb, void *transport); void ntb_unregister_transport(struct ntb_softc *ntb); -int ntb_get_max_spads(struct ntb_softc *ntb); +uint8_t ntb_get_max_spads(struct ntb_softc *ntb); int ntb_write_local_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t val); int ntb_read_local_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t *val); int ntb_write_remote_spad(struct ntb_softc *ntb, unsigned int idx, @@ -73,4 +73,8 @@ void ntb_ring_sdb(struct ntb_softc *ntb, bool ntb_query_link_status(struct ntb_softc *ntb); device_t ntb_get_device(struct ntb_softc *ntb); +#define NTB_BAR_SIZE_4K (1 << 0) +#define NTB_REGS_THRU_MW (1 << 1) +bool ntb_has_feature(struct ntb_softc *, uint64_t); + #endif /* _NTB_HW_H_ */ Modified: head/sys/dev/ntb/ntb_hw/ntb_regs.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_regs.h Tue Oct 13 03:11:21 2015 (r289207) +++ head/sys/dev/ntb/ntb_hw/ntb_regs.h Tue Oct 13 03:12:11 2015 (r289208) @@ -71,7 +71,8 @@ #define XEON_WCCNTRL_OFFSET 0x00e0 #define XEON_B2B_SPAD_OFFSET 0x0100 #define XEON_B2B_DOORBELL_OFFSET 0x0140 -#define XEON_B2B_XLAT_OFFSET 0x0144 +#define XEON_B2B_XLAT_OFFSETL 0x0144 +#define XEON_B2B_XLAT_OFFSETU 0x0148 #define SOC_MSIX_CNT 34 #define SOC_MAX_SPADS 16 @@ -136,16 +137,16 @@ #define NTB_DEV_DSD 1 #define NTB_DEV_USD 0 -#define PBAR2XLAT_USD_ADDR 0x0000004000000000 -#define PBAR4XLAT_USD_ADDR 0x0000008000000000 -#define MBAR01_USD_ADDR 0x000000210000000c -#define MBAR23_USD_ADDR 0x000000410000000c -#define MBAR45_USD_ADDR 0x000000810000000c -#define PBAR2XLAT_DSD_ADDR 0x0000004100000000 -#define PBAR4XLAT_DSD_ADDR 0x0000008100000000 -#define MBAR01_DSD_ADDR 0x000000200000000c -#define MBAR23_DSD_ADDR 0x000000400000000c -#define MBAR45_DSD_ADDR 0x000000800000000c +#define PBAR2XLAT_USD_ADDR 0x0000004000000000ull +#define PBAR4XLAT_USD_ADDR 0x0000008000000000ull +#define MBAR01_USD_ADDR 0x000000210000000cull +#define MBAR23_USD_ADDR 0x000000410000000cull +#define MBAR45_USD_ADDR 0x000000810000000cull +#define PBAR2XLAT_DSD_ADDR 0x0000004100000000ull +#define PBAR4XLAT_DSD_ADDR 0x0000008100000000ull +#define MBAR01_DSD_ADDR 0x000000200000000cull +#define MBAR23_DSD_ADDR 0x000000400000000cull +#define MBAR45_DSD_ADDR 0x000000800000000cull /* XEON Shadowed MMIO Space */ #define XEON_SHADOW_PDOORBELL_OFFSET 0x60 From owner-svn-src-head@freebsd.org Tue Oct 13 03:12:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF39BA10F13; Tue, 13 Oct 2015 03:12:56 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA3DB1181; Tue, 13 Oct 2015 03:12:56 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9D3CucI046679; Tue, 13 Oct 2015 03:12:56 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9D3CtKo046677; Tue, 13 Oct 2015 03:12:55 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201510130312.t9D3CtKo046677@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Tue, 13 Oct 2015 03:12:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289209 - in head/sys/dev/ntb: if_ntb ntb_hw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:12:57 -0000 Author: cem Date: Tue Oct 13 03:12:55 2015 New Revision: 289209 URL: https://svnweb.freebsd.org/changeset/base/289209 Log: NTB: Style(9) cleanups Modified: head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/ntb/ntb_hw/ntb_hw.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:12:11 2015 (r289208) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Tue Oct 13 03:12:55 2015 (r289209) @@ -307,7 +307,7 @@ DECLARE_MODULE(if_ntb, if_ntb_mod, SI_SU MODULE_DEPEND(if_ntb, ntb_hw, 1, 1, 1); static int -ntb_setup_interface() +ntb_setup_interface(void) { struct ifnet *ifp; struct ntb_queue_handlers handlers = { ntb_net_rx_handler, @@ -350,7 +350,7 @@ ntb_setup_interface() } static int -ntb_teardown_interface() +ntb_teardown_interface(void) { if (net_softc.qp != NULL) @@ -528,7 +528,6 @@ ntb_transport_free(void *transport) if (!test_bit(i, &nt->qp_bitmap)) ntb_transport_free_queue(&nt->qps[i]); - ntb_unregister_event_callback(ntb); for (i = 0; i < NTB_NUM_MW; i++) Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:12:11 2015 (r289208) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Tue Oct 13 03:12:55 2015 (r289209) @@ -238,29 +238,26 @@ SYSCTL_NODE(_hw, OID_AUTO, ntb, CTLFLAG_ static int ntb_probe(device_t device) { - struct ntb_hw_info *p = ntb_get_device_info(pci_get_devid(device)); + struct ntb_hw_info *p; - if (p != NULL) { - device_set_desc(device, p->desc); - return (0); - } else + p = ntb_get_device_info(pci_get_devid(device)); + if (p == NULL) return (ENXIO); -} -#define DETACH_ON_ERROR(func) \ - error = func; \ - if (error < 0) { \ - ntb_detach(device); \ - return (error); \ - } + device_set_desc(device, p->desc); + return (0); +} static int ntb_attach(device_t device) { - struct ntb_softc *ntb = DEVICE2SOFTC(device); - struct ntb_hw_info *p = ntb_get_device_info(pci_get_devid(device)); + struct ntb_softc *ntb; + struct ntb_hw_info *p; int error; + ntb = DEVICE2SOFTC(device); + p = ntb_get_device_info(pci_get_devid(device)); + ntb->device = device; ntb->type = p->type; ntb->features = p->features; @@ -269,20 +266,30 @@ ntb_attach(device_t device) callout_init(&ntb->heartbeat_timer, 1); callout_init(&ntb->lr_timer, 1); - DETACH_ON_ERROR(ntb_map_pci_bars(ntb)); - DETACH_ON_ERROR(ntb_initialize_hw(ntb)); - DETACH_ON_ERROR(ntb_setup_interrupts(ntb)); + error = ntb_map_pci_bars(ntb); + if (error) + goto out; + error = ntb_initialize_hw(ntb); + if (error) + goto out; + error = ntb_setup_interrupts(ntb); + if (error) + goto out; pci_enable_busmaster(ntb->device); +out: + if (error != 0) + ntb_detach(device); return (error); } static int ntb_detach(device_t device) { - struct ntb_softc *ntb = DEVICE2SOFTC(device); + struct ntb_softc *ntb; + ntb = DEVICE2SOFTC(device); callout_drain(&ntb->heartbeat_timer); callout_drain(&ntb->lr_timer); ntb_teardown_interrupts(ntb); @@ -299,25 +306,22 @@ ntb_map_pci_bars(struct ntb_softc *ntb) ntb->bar_info[NTB_CONFIG_BAR].pci_resource_id = PCIR_BAR(0); rc = map_pci_bar(ntb, map_mmr_bar, &ntb->bar_info[NTB_CONFIG_BAR]); if (rc != 0) - return rc; + return (rc); - ntb->bar_info[NTB_B2B_BAR_1].pci_resource_id = PCIR_BAR(2); + ntb->bar_info[NTB_B2B_BAR_1].pci_resource_id = PCIR_BAR(2); rc = map_pci_bar(ntb, map_memory_window_bar, &ntb->bar_info[NTB_B2B_BAR_1]); if (rc != 0) - return rc; + return (rc); - ntb->bar_info[NTB_B2B_BAR_2].pci_resource_id = PCIR_BAR(4); + ntb->bar_info[NTB_B2B_BAR_2].pci_resource_id = PCIR_BAR(4); if (HAS_FEATURE(NTB_REGS_THRU_MW)) rc = map_pci_bar(ntb, map_mmr_bar, &ntb->bar_info[NTB_B2B_BAR_2]); else rc = map_pci_bar(ntb, map_memory_window_bar, &ntb->bar_info[NTB_B2B_BAR_2]); - if (rc != 0) - return rc; - - return (0); + return (rc); } static int @@ -327,15 +331,13 @@ map_pci_bar(struct ntb_softc *ntb, bar_m int rc; rc = strategy(ntb, bar); - if (rc != 0) { + if (rc != 0) device_printf(ntb->device, "unable to allocate pci resource\n"); - } else { + else device_printf(ntb->device, "Bar size = %lx, v %p, p %p\n", - bar->size, bar->vbase, - (void *)(bar->pbase)); - } + bar->size, bar->vbase, (void *)(bar->pbase)); return (rc); } @@ -344,14 +346,12 @@ map_mmr_bar(struct ntb_softc *ntb, struc { bar->pci_resource = bus_alloc_resource_any(ntb->device, SYS_RES_MEMORY, - &bar->pci_resource_id, RF_ACTIVE); - + &bar->pci_resource_id, RF_ACTIVE); if (bar->pci_resource == NULL) return (ENXIO); - else { - save_bar_parameters(bar); - return (0); - } + + save_bar_parameters(bar); + return (0); } static int @@ -360,55 +360,56 @@ map_memory_window_bar(struct ntb_softc * int rc; uint8_t bar_size_bits = 0; - bar->pci_resource = bus_alloc_resource_any(ntb->device, - SYS_RES_MEMORY, &bar->pci_resource_id, RF_ACTIVE); + bar->pci_resource = bus_alloc_resource_any(ntb->device, SYS_RES_MEMORY, + &bar->pci_resource_id, RF_ACTIVE); if (bar->pci_resource == NULL) return (ENXIO); - else { - save_bar_parameters(bar); - /* - * Ivytown NTB BAR sizes are misreported by the hardware due to - * a hardware issue. To work around this, query the size it - * should be configured to by the device and modify the resource - * to correspond to this new size. The BIOS on systems with this - * problem is required to provide enough address space to allow - * the driver to make this change safely. - * - * Ideally I could have just specified the size when I allocated - * the resource like: - * bus_alloc_resource(ntb->device, - * SYS_RES_MEMORY, &bar->pci_resource_id, 0ul, ~0ul, - * 1ul << bar_size_bits, RF_ACTIVE); - * but the PCI driver does not honor the size in this call, so - * we have to modify it after the fact. - */ - if (HAS_FEATURE(NTB_BAR_SIZE_4K)) { - if (bar->pci_resource_id == PCIR_BAR(2)) - bar_size_bits = pci_read_config(ntb->device, - XEON_PBAR23SZ_OFFSET, 1); - else - bar_size_bits = pci_read_config(ntb->device, - XEON_PBAR45SZ_OFFSET, 1); - rc = bus_adjust_resource(ntb->device, SYS_RES_MEMORY, - bar->pci_resource, bar->pbase, - bar->pbase + (1ul << bar_size_bits) - 1); - if (rc != 0 ) { - device_printf(ntb->device, - "unable to resize bar\n"); - return (rc); - } else - save_bar_parameters(bar); - } - /* Mark bar region as write combining to improve performance. */ - rc = pmap_change_attr((vm_offset_t)bar->vbase, bar->size, - VM_MEMATTR_WRITE_COMBINING); + save_bar_parameters(bar); + /* + * Ivytown NTB BAR sizes are misreported by the hardware due to a + * hardware issue. To work around this, query the size it should be + * configured to by the device and modify the resource to correspond to + * this new size. The BIOS on systems with this problem is required to + * provide enough address space to allow the driver to make this change + * safely. + * + * Ideally I could have just specified the size when I allocated the + * resource like: + * bus_alloc_resource(ntb->device, + * SYS_RES_MEMORY, &bar->pci_resource_id, 0ul, ~0ul, + * 1ul << bar_size_bits, RF_ACTIVE); + * but the PCI driver does not honor the size in this call, so we have + * to modify it after the fact. + */ + if (HAS_FEATURE(NTB_BAR_SIZE_4K)) { + if (bar->pci_resource_id == PCIR_BAR(2)) + bar_size_bits = pci_read_config(ntb->device, + XEON_PBAR23SZ_OFFSET, 1); + else + bar_size_bits = pci_read_config(ntb->device, + XEON_PBAR45SZ_OFFSET, 1); + + rc = bus_adjust_resource(ntb->device, SYS_RES_MEMORY, + bar->pci_resource, bar->pbase, + bar->pbase + (1ul << bar_size_bits) - 1); if (rc != 0) { - device_printf(ntb->device, "unable to mark bar as" - " WRITE_COMBINING\n"); + device_printf(ntb->device, + "unable to resize bar\n"); return (rc); } + + save_bar_parameters(bar); + } + + /* Mark bar region as write combining to improve performance. */ + rc = pmap_change_attr((vm_offset_t)bar->vbase, bar->size, + VM_MEMATTR_WRITE_COMBINING); + if (rc != 0) { + device_printf(ntb->device, + "unable to mark bar as WRITE_COMBINING\n"); + return (rc); } return (0); } @@ -433,7 +434,7 @@ ntb_setup_interrupts(struct ntb_softc *n { void (*interrupt_handler)(void *); void *int_arg; - bool use_msix = 0; + bool use_msix = false; uint32_t num_vectors; int i; @@ -453,11 +454,11 @@ ntb_setup_interrupts(struct ntb_softc *n if (num_vectors >= 1) { pci_alloc_msix(ntb->device, &num_vectors); if (num_vectors >= 4) - use_msix = TRUE; + use_msix = true; } ntb_create_callbacks(ntb, num_vectors); - if (use_msix == TRUE) { + if (use_msix == true) { for (i = 0; i < num_vectors; i++) { ntb->int_info[i].rid = i + 1; ntb->int_info[i].res = bus_alloc_resource_any( @@ -466,7 +467,7 @@ ntb_setup_interrupts(struct ntb_softc *n if (ntb->int_info[i].res == NULL) { device_printf(ntb->device, "bus_alloc_resource failed\n"); - return (-1); + return (ENOMEM); } ntb->int_info[i].tag = NULL; ntb->allocated_interrupts++; @@ -493,8 +494,7 @@ ntb_setup_interrupts(struct ntb_softc *n return (ENXIO); } } - } - else { + } else { ntb->int_info[0].rid = 0; ntb->int_info[0].res = bus_alloc_resource_any(ntb->device, SYS_RES_IRQ, &ntb->int_info[0].rid, RF_SHAREABLE|RF_ACTIVE); @@ -502,7 +502,7 @@ ntb_setup_interrupts(struct ntb_softc *n if (ntb->int_info[0].res == NULL) { device_printf(ntb->device, "bus_alloc_resource failed\n"); - return (-1); + return (ENOMEM); } ntb->int_info[0].tag = NULL; ntb->allocated_interrupts = 1; @@ -525,7 +525,7 @@ ntb_teardown_interrupts(struct ntb_softc struct ntb_int_info *current_int; int i; - for (i=0; iallocated_interrupts; i++) { + for (i = 0; i < ntb->allocated_interrupts; i++) { current_int = &ntb->int_info[i]; if (current_int->tag != NULL) bus_teardown_intr(ntb->device, current_int->res, @@ -625,7 +625,7 @@ ntb_create_callbacks(struct ntb_softc *n { int i; - ntb->db_cb = malloc(num_vectors * sizeof(struct ntb_db_cb), M_NTB, + ntb->db_cb = malloc(num_vectors * sizeof(*ntb->db_cb), M_NTB, M_ZERO | M_WAITOK); for (i = 0; i < num_vectors; i++) { ntb->db_cb[i].db_num = i; @@ -740,6 +740,7 @@ ntb_setup_xeon(struct ntb_softc *ntb) ntb->bits_per_vector = XEON_DB_BITS_PER_VEC; configure_xeon_secondary_side_bars(ntb); + /* Enable Bus Master and Memory Space on the secondary side */ ntb_reg_write(2, ntb->reg_ofs.spci_cmd, PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); @@ -813,6 +814,7 @@ ntb_setup_soc(struct ntb_softc *ntb) /* Enable Bus Master and Memory Space on the secondary side */ ntb_reg_write(2, ntb->reg_ofs.spci_cmd, PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); + callout_reset(&ntb->heartbeat_timer, 0, ntb_handle_heartbeat, ntb); return (0); @@ -888,8 +890,9 @@ ntb_handle_heartbeat(void *arg) { struct ntb_softc *ntb = arg; uint32_t status32; - int rc = ntb_check_link_status(ntb); + int rc; + rc = ntb_check_link_status(ntb); if (rc != 0) device_printf(ntb->device, "Error determining link status\n"); @@ -1053,7 +1056,7 @@ ntb_check_link_status(struct ntb_softc * * This function registers a callback for any HW driver events such as link * up/down, power management notices and etc. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_register_event_callback(struct ntb_softc *ntb, ntb_event_callback func) @@ -1090,7 +1093,7 @@ ntb_unregister_event_callback(struct ntb * on the primary side. The function will unmask the doorbell as well to * allow interrupt. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_register_db_callback(struct ntb_softc *ntb, unsigned int idx, void *data, @@ -1224,7 +1227,7 @@ ntb_get_max_spads(struct ntb_softc *ntb) * This function allows writing of a 32bit value to the indexed scratchpad * register. The register resides on the secondary (external) side. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_write_local_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t val) @@ -1247,7 +1250,7 @@ ntb_write_local_spad(struct ntb_softc *n * This function allows reading of the 32bit scratchpad register on * the primary (internal) side. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_read_local_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t *val) @@ -1270,7 +1273,7 @@ ntb_read_local_spad(struct ntb_softc *nt * This function allows writing of a 32bit value to the indexed scratchpad * register. The register resides on the secondary (external) side. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_write_remote_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t val) @@ -1296,7 +1299,7 @@ ntb_write_remote_spad(struct ntb_softc * * This function allows reading of the 32bit scratchpad register on * the primary (internal) side. * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ int ntb_read_remote_spad(struct ntb_softc *ntb, unsigned int idx, uint32_t *val) @@ -1397,7 +1400,7 @@ ntb_set_mw_addr(struct ntb_softc *ntb, u * This function allows triggering of a doorbell on the secondary/external * side that will initiate an interrupt on the remote host * - * RETURNS: An appropriate -ERRNO error value on error, or zero for success. + * RETURNS: An appropriate ERRNO error value on error, or zero for success. */ void ntb_ring_sdb(struct ntb_softc *ntb, unsigned int db) @@ -1405,7 +1408,7 @@ ntb_ring_sdb(struct ntb_softc *ntb, unsi if (ntb->type == NTB_SOC) ntb_reg_write(8, ntb->reg_ofs.sdb, (uint64_t) 1 << db); - else + else { if (HAS_FEATURE(NTB_REGS_THRU_MW)) ntb_mw_write(2, XEON_SHADOW_PDOORBELL_OFFSET, ((1 << ntb->bits_per_vector) - 1) << @@ -1414,6 +1417,7 @@ ntb_ring_sdb(struct ntb_softc *ntb, unsi ntb_reg_write(2, ntb->reg_ofs.sdb, ((1 << ntb->bits_per_vector) - 1) << (db * ntb->bits_per_vector)); + } } /** @@ -1434,20 +1438,16 @@ ntb_query_link_status(struct ntb_softc * static void save_bar_parameters(struct ntb_pci_bar_info *bar) { - bar->pci_bus_tag = - rman_get_bustag(bar->pci_resource); - bar->pci_bus_handle = - rman_get_bushandle(bar->pci_resource); - bar->pbase = - rman_get_start(bar->pci_resource); - bar->size = - rman_get_size(bar->pci_resource); - bar->vbase = - rman_get_virtual(bar->pci_resource); + bar->pci_bus_tag = rman_get_bustag(bar->pci_resource); + bar->pci_bus_handle = rman_get_bushandle(bar->pci_resource); + bar->pbase = rman_get_start(bar->pci_resource); + bar->size = rman_get_size(bar->pci_resource); + bar->vbase = rman_get_virtual(bar->pci_resource); } -device_t ntb_get_device(struct ntb_softc *ntb) +device_t +ntb_get_device(struct ntb_softc *ntb) { return (ntb->device); From owner-svn-src-head@freebsd.org Tue Oct 13 03:49:18 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 711BEA119D9; Tue, 13 Oct 2015 03:49:18 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-oi0-x233.google.com (mail-oi0-x233.google.com [IPv6:2607:f8b0:4003:c06::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3422332F; Tue, 13 Oct 2015 03:49:18 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by oiao187 with SMTP id o187so2916040oia.2; Mon, 12 Oct 2015 20:49:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=SUpLrAlEJkBo/3/9g4sumKv9fdfIzX5vPlC5lAc9SuU=; b=ZU6+U5qtLaOunMpO/5MiLIDGnI6axPGKSYThexHKvNVj9JUb5vPIDan+vjFiBn4wQn 7RxUSSk1Q9CM5m0EDhLidEz9WcCd3hXoSXPc8MLwLqWXiFyy2HoTIs+lcCbSObuR8QPN aq6Btsmi5b23tnkA0u94x5dPY21JLenIQROdh59iqiEkq/8AFlzYj7I5k34aBtn/cABl JorP1cp1cDco0pDf+LMPdV0Hjj0hQxerc8Pf2PiflRG3yN1hXMsxGUeFMjzemMgN/5p4 5l+5qtcEXdOSxduYHKC4+uabrn61FGKV4TDXsTMfcEpjrU77N38THGwB0ACG98IPHxcB nfEg== X-Received: by 10.202.69.5 with SMTP id s5mr17276656oia.123.1444708157417; Mon, 12 Oct 2015 20:49:17 -0700 (PDT) Received: from [22.218.173.19] (m9b5636d0.tmodns.net. [208.54.86.155]) by smtp.gmail.com with ESMTPSA id pp2sm594414oeb.1.2015.10.12.20.49.16 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 12 Oct 2015 20:49:16 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r289208 - in head/sys/dev/ntb: if_ntb ntb_hw From: Garrett Cooper X-Mailer: iPhone Mail (13A452) In-Reply-To: <201510130312.t9D3CCm2046612@repo.freebsd.org> Date: Mon, 12 Oct 2015 20:49:15 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: References: <201510130312.t9D3CCm2046612@repo.freebsd.org> To: "Conrad E. Meyer" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 03:49:18 -0000 > On Oct 12, 2015, at 20:12, Conrad E. Meyer wrote: > > Author: cem > Date: Tue Oct 13 03:12:11 2015 > New Revision: 289208 > URL: https://svnweb.freebsd.org/changeset/base/289208 > > Log: > NTB: MFV 948d3a65: Xeon Errata Workaround NTB? From owner-svn-src-head@freebsd.org Tue Oct 13 04:00:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85394A11F85; Tue, 13 Oct 2015 04:00:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 72BCDE5E; Tue, 13 Oct 2015 04:00:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by freefall.freebsd.org (Postfix) with ESMTP id BB576170A; Tue, 13 Oct 2015 04:00:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Tue, 13 Oct 2015 04:00:12 +0000 From: Glen Barber To: Garrett Cooper Cc: "Conrad E. Meyer" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r289208 - in head/sys/dev/ntb: if_ntb ntb_hw Message-ID: <20151013040012.GC99315@FreeBSD.org> References: <201510130312.t9D3CCm2046612@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="GyRA7555PLgSTuth" Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 11.0-CURRENT amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 04:00:15 -0000 --GyRA7555PLgSTuth Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 12, 2015 at 08:49:15PM -0700, Garrett Cooper wrote: >=20 > > On Oct 12, 2015, at 20:12, Conrad E. Meyer wrote: > >=20 > > Author: cem > > Date: Tue Oct 13 03:12:11 2015 > > New Revision: 289208 > > URL: https://svnweb.freebsd.org/changeset/base/289208 > >=20 > > Log: > > NTB: MFV 948d3a65: Xeon Errata Workaround >=20 > NTB? >=20 The driver name? Glen --GyRA7555PLgSTuth Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWHIHHAAoJEAMUWKVHj+KTo7UP/3f4ZQZB7w6ujxXtVzNHpEFi O+WblDksHV9ETNVsmVLxRnFLzllIh7j/NCPYP/hkIztj6wmrabLyPncg4qrh0g5c N733wQennpkA0s6huwIA1nNcHl/Mmy00X8CpRJ+VfK5/ifH++RCXL/2hu7tLnnEt qX9p3m+q33Hw0Rvt/bxkjXEwrLYVXhGUIjpHCaP7L4f6FsO5+dL83SShGmtGwE+2 8ofmsjqgVTFOU9TBQmxaGHERmkPPip/FTU04MF5M+TbEhmuhEp+cWSA0OvPRLn/U 2Yoa6oRNs8r6ZGFsvyhGBe1nFohmfK4uwYckEzdF0NYX94vhmXSsLCZgwQ0WdeTz q7WxbWP4t6ITfok7ty+G46TR6SlF64SI1df1D8MYKAoZaSgOX0Qpylli64oppOC0 ieccMS9Wr5zt+uicVU+tH/co5FSOCKCVGTkQu/tS+VQ1+yWN17hwwbQCtvCHjUK/ 1xGZO7D99eMtKs7Hx2XjCVaroFQD7Po598Kcb1/Av+i+F8J9ehoa/c9SvWaYx5VL AZp0l4S8aKJKPJk8VUAbFWycmJhpy2mzJVYvbfR/R1bdf+YzVT5fRBTuEf3lupgc R2BZwmeWX1cVo/rErQD4OYw8IRdkSOquFflRX95c2+ZiV5h9hqPdWAq3zf8YCnT6 XKyy25f2dmi/mbXmsR7A =CtLx -----END PGP SIGNATURE----- --GyRA7555PLgSTuth-- From owner-svn-src-head@freebsd.org Tue Oct 13 04:47:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 53D11A12989; Tue, 13 Oct 2015 04:47:12 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-yk0-f175.google.com (mail-yk0-f175.google.com [209.85.160.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1A736198; Tue, 13 Oct 2015 04:47:11 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by ykey125 with SMTP id y125so6028256yke.3; Mon, 12 Oct 2015 21:47:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=vOrZj4TAOSLelshJj7MMsuA+uh7YriCJrZytYS7aJ9E=; b=TE/f+T5e4ERHIBDOmPeOiryRD5OpfFMb2tFpuiieauJkZIdXZHW1m1t8GcuNQU5FJ+ VR9ACivJycJzz8F9/Xi3rdJheL3afUXQoQAGJ911EelI6OnaD6eL2vGCBmiBPq9QDH4n O7LASJT7k3fuqWek1Vc9Y1Dl38sAcFYRMzJdpETpJkjXhmBXhhlG61gq5Kf0i0HLIfCe VrMg0+ifSJicGVDJualR2LPVqG0Z4xoBQEbeIcFSFGhEe3B9nocVPvZznRuLzv+sYJIc 4v4oaoRGH3G1Nhsf+GWiT4gYsn87wJ7Xumh3BgH+/ULHcjYZoDzh3wU4cmYvsV+MuMCP kjPg== X-Received: by 10.13.226.196 with SMTP id l187mr25373770ywe.231.1444711624788; Mon, 12 Oct 2015 21:47:04 -0700 (PDT) Received: from mail-yk0-f172.google.com (mail-yk0-f172.google.com. [209.85.160.172]) by smtp.gmail.com with ESMTPSA id q4sm900104ywf.32.2015.10.12.21.47.04 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Oct 2015 21:47:04 -0700 (PDT) Received: by ykec126 with SMTP id c126so6083020yke.2; Mon, 12 Oct 2015 21:47:04 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.129.49.70 with SMTP id x67mr24944046ywx.262.1444711624328; Mon, 12 Oct 2015 21:47:04 -0700 (PDT) Reply-To: cem@FreeBSD.org Received: by 10.37.203.75 with HTTP; Mon, 12 Oct 2015 21:47:04 -0700 (PDT) In-Reply-To: <20151013040012.GC99315@FreeBSD.org> References: <201510130312.t9D3CCm2046612@repo.freebsd.org> <20151013040012.GC99315@FreeBSD.org> Date: Mon, 12 Oct 2015 21:47:04 -0700 Message-ID: Subject: Re: svn commit: r289208 - in head/sys/dev/ntb: if_ntb ntb_hw From: Conrad Meyer To: Glen Barber Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 04:47:12 -0000 On Mon, Oct 12, 2015 at 9:00 PM, Glen Barber wrote: > On Mon, Oct 12, 2015 at 08:49:15PM -0700, Garrett Cooper wrote: >> NTB? >> > > The driver name? Yep. From owner-svn-src-head@freebsd.org Tue Oct 13 11:02:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C1F5A127F1; Tue, 13 Oct 2015 11:02:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AA021491; Tue, 13 Oct 2015 11:02:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9DB2unR086968; Tue, 13 Oct 2015 11:02:56 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9DB2unU086966; Tue, 13 Oct 2015 11:02:56 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201510131102.t9DB2unU086966@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 13 Oct 2015 11:02:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289219 - head/sys/dev/isp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2015 11:02:57 -0000 Author: mav Date: Tue Oct 13 11:02:56 2015 New Revision: 289219 URL: https://svnweb.freebsd.org/changeset/base/289219 Log: Export bunch of state variables as sysctls. Modified: head/sys/dev/isp/isp_freebsd.c head/sys/dev/isp/ispvar.h Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Tue Oct 13 08:21:15 2015 (r289218) +++ head/sys/dev/isp/isp_freebsd.c Tue Oct 13 11:02:56 2015 (r289219) @@ -205,30 +205,55 @@ isp_attach_chan(ispsoftc_t *isp, struct cam_sim_free(fc->sim, FALSE); return (ENOMEM); } - ISP_FC_PC(isp, chan)->num_threads += 1; + fc->num_threads += 1; #ifdef ISP_INTERNAL_TARGET ISP_SET_PC(isp, chan, proc_active, 1); if (THREAD_CREATE(isp_target_thread_fc, fc, &fc->target_proc, 0, 0, "%s: isp_test_tgt%d", device_get_nameunit(isp->isp_osinfo.dev), chan)) { ISP_SET_PC(isp, chan, proc_active, 0); isp_prt(isp, ISP_LOGERR, "cannot create test target thread"); } - ISP_FC_PC(isp, chan)->num_threads += 1; + fc->num_threads += 1; #endif if (chan > 0) { snprintf(name, sizeof(name), "chan%d", chan); tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, name, CTLFLAG_RW, 0, "Virtual channel"); } - SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "wwnn", CTLFLAG_RD, &FCPARAM(isp, chan)->isp_wwnn, "World Wide Node Name"); - SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "wwpn", CTLFLAG_RD, &FCPARAM(isp, chan)->isp_wwpn, "World Wide Port Name"); - SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "loop_down_limit", CTLFLAG_RW, &ISP_FC_PC(isp, chan)->loop_down_limit, 0, "Loop Down Limit"); - SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "gone_device_time", CTLFLAG_RW, &ISP_FC_PC(isp, chan)->gone_device_time, 0, "Gone Device Time"); + SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "wwnn", CTLFLAG_RD, &fcp->isp_wwnn, + "World Wide Node Name"); + SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "wwpn", CTLFLAG_RD, &fcp->isp_wwpn, + "World Wide Port Name"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "loop_down_limit", CTLFLAG_RW, &fc->loop_down_limit, 0, + "Loop Down Limit"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "gone_device_time", CTLFLAG_RW, &fc->gone_device_time, 0, + "Gone Device Time"); #if defined(ISP_TARGET_MODE) && defined(DEBUG) - SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "inject_lost_data_frame", CTLFLAG_RW, &ISP_FC_PC(isp, chan)->inject_lost_data_frame, 0, "Cause a Lost Frame on a Read"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "inject_lost_data_frame", CTLFLAG_RW, &fc->inject_lost_data_frame, 0, + "Cause a Lost Frame on a Read"); #endif SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "role", CTLTYPE_INT | CTLFLAG_RW, isp, chan, isp_role_sysctl, "I", "Current role"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "speed", CTLFLAG_RD, &fcp->isp_gbspeed, 0, + "Connection speed in gigabits"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "linkstate", CTLFLAG_RD, &fcp->isp_linkstate, 0, + "Link state"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "fwstate", CTLFLAG_RD, &fcp->isp_fwstate, 0, + "Firmware state"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "loopstate", CTLFLAG_RD, &fcp->isp_loopstate, 0, + "Loop state"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "topo", CTLFLAG_RD, &fcp->isp_topo, 0, + "Connection topology"); } return (0); } @@ -5694,7 +5719,7 @@ isp_async(ispsoftc_t *isp, ispasync_t cm bus = va_arg(ap, int); va_end(ap); - FCPARAM(isp, bus)->link_active = 0; + FCPARAM(isp, bus)->isp_linkstate = 0; fc = ISP_FC_PC(isp, bus); if (cmd == ISPASYNC_LOOP_DOWN && fc->ready) { @@ -5727,7 +5752,7 @@ isp_async(ispsoftc_t *isp, ispasync_t cm * Change Notify before activating the FC cleanup * thread to look at the state of the loop again. */ - FCPARAM(isp, bus)->link_active = 1; + FCPARAM(isp, bus)->isp_linkstate = 1; fc->loop_dead = 0; fc->loop_down_time = 0; isp_prt(isp, ISP_LOGINFO, "Chan %d Loop UP", bus); Modified: head/sys/dev/isp/ispvar.h ============================================================================== --- head/sys/dev/isp/ispvar.h Tue Oct 13 08:21:15 2015 (r289218) +++ head/sys/dev/isp/ispvar.h Tue Oct 13 11:02:56 2015 (r289219) @@ -436,21 +436,19 @@ typedef struct { */ typedef struct { - uint32_t + int isp_gbspeed; /* Connection speed */ + int isp_linkstate; /* Link state */ + int isp_fwstate; /* ISP F/W state */ + int isp_loopstate; /* Loop State */ + int isp_topo; /* Connection Type */ + + uint32_t : 3, fctape_enabled : 1, - link_active : 1, sendmarker : 1, + loop_seen_once : 1, role : 2, - isp_gbspeed : 4, - isp_loopstate : 4, /* Current Loop State */ - isp_fwstate : 4, /* ISP F/W state */ - isp_topo : 3, /* Connection Type */ - loop_seen_once : 1; - - uint32_t : 8, isp_portid : 24; /* S_ID */ - uint16_t isp_fwoptions; uint16