zfsd: Improve spare selection
Port OpenZFS PRs #18597 and #18578 from zed to zfsd.
When activating a spare, sort candidates before trying them:
1. Distributed dRAID spare matching the failed vdev's group (fastest
rebuild via sequential resilver)
2. Regular spares
3. Non-matching distributed spares (kernel will reject anyway)
4. Within each tier: prefer rotational match, then smallest
sufficient size
Also try all healthy spares in order rather than stopping at the
first one, and use sequential rebuild for distributed spares.
graphics/R-cran-venn: New port
A close to zero dependency package to draw and display Venn diagrams up
to 7 sets, and any Boolean union of set intersections.
graphics/R-cran-ggpolypath: New port
Tools for working with polygons with holes in 'ggplot2', with a new 'geom' for
drawing a 'polypath' applying the 'evenodd' or 'winding' rules.
net-p2p/amule: Update to 3.0.1
- Use src tarball from release assets
- Add GEOIP option default ON
- Turn OFF TRANSLATED_MANPAGES so we can use pre-rendered man translations
- Remove upstreamed patches
ChangeLog: https://github.com/amule-org/amule/releases/tag/3.0.1
bhyve: Use a blocking socket in the helper process
The send_packet callback does not handle EAGAIN, and on the recv side we
already use poll() and MSG_DONTWAIT to implement a non-blocking loop.
PR: 291616
Tested by: novel
Fixes: 0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
Differential Revision: https://reviews.freebsd.org/D54340
(cherry picked from commit daef625cf884dea33d50ad7a0e2da0879a442495)
bhyve/slirp: Drop privileges before entering capability mode
When in restricted mode, the slirp-helper process enters a capsicum
sandbox, after which we cannot look up the uid for the "nobody" user.
Reverse the order.
Reported by: kp
Fixes: 0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
(cherry picked from commit b0c7eaf83d21bbc333e247ab9e136965b3ca54ed)
divert: Avoid using atomic_(load|store)_(acq|rel)_16
It's not implemented on some arches. Use a plain int to count the
number of sockets in a divert lbgroup.
Reported by: Jenkins
Fixes: 895a0ae67fe2 ("divert: Define semantics for SO_REUSEPORT_LB on divert sockets")
(cherry picked from commit c564074c9aaa8a3f9273de3cb802edcb3e2e2a40)
divert: Define semantics for SO_REUSEPORT_LB on divert sockets
Allow SO_REUSEPORT_LB to be set on divert sockets. If set, then bind()
will add the socket to a "load-balancing group". When a divert-to rule
matches a port with an associated group, the corresponding state ID is
used to select a specific socket from the group. Packets without an
associated state are simply forwarded to the first socket in the group.
For now I only pass a state ID from pf, as I couldn't see a useful
identifier on the ipfw side.
This implementation is simple but has a caveat, that being that if
sockets are added to the group while flows are being processed, the size
of the group will change and this changes the mapping of state IDs to
sockets. So, to get a consistent mapping, the divert socket application
must bind all of its sockets before any traffic is diverted by the
firewall.
Reviewed by: glebius
MFC after: 1 month
[5 lines not shown]