Commit graph

265062 commits

Author SHA1 Message Date
Rick Macklem
cd2e5ae71b nfscl: Improve "Consider increasing kern.ipc.maxsockbuf" message
When the setting of kern.ipc.maxsockbuf is less than what is
desired for I/O based on vfs.maxbcachebuf and vfs.nfs.bufpackets,
a console message of "Consider increasing kern.ipc.maxsockbuf".
is printed.

This patch modifies the message to provide a suggested value
for kern.ipc.maxsockbuf.
Note that the setting is only needed when the NFS rsize/wsize
is set to vfs.maxbcachebuf.

While here, make nfs_bufpackets global, so that it can be used
by a future patch that adds a sysctl to set the NFS server's
maximum I/O size.  Also, remove "sizeof(u_int32_t)" from the maximum
packet length, since NFS_MAXXDR is already an "overestimate"
of the actual length.

(cherry picked from commit c5f4772c66)
2021-07-14 13:45:41 -07:00
Mateusz Guzik
cfaec275f6 pf: add pf_find_state_all_exists
Reviewed by:	kp
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 19d6e29b87)
2021-07-14 14:50:12 +00:00
Mateusz Guzik
8ef908c1d5 pf: padalign global locks found in pf.c
Reviewed by:	kp
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit f649cff587)
2021-07-14 14:50:12 +00:00
Mateusz Guzik
a65a227398 pf: allow table stats clearing and reading with ruleset rlock
Instead serialize against these operations with a dedicated lock.

Prior to the change, When pushing 17 mln pps of traffic, calling
DIOCRGETTSTATS in a loop would restrict throughput to about 7 mln.  With
the change there is no slowdown.

Reviewed by:	kp (previous version)
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit dc1ab04e4c)
2021-07-14 14:50:12 +00:00
Mateusz Guzik
ce02bfa524 pf: depessimize table handling
Creating tables and zeroing their counters induces excessive IPIs (14
per table), which in turns kills single- and multi-threaded performance.

Work around the problem by extending per-CPU counters with a general
counter populated on "zeroing" requests -- it stores the currently found
sum. Then requests to report the current value are the sum of per-CPU
counters subtracted by the saved value.

Sample timings when loading a config with 100k tables on a 104-way box:

stock:

pfctl -f tables100000.conf  0.39s user 69.37s system 99% cpu 1:09.76 total
pfctl -f tables100000.conf  0.40s user 68.14s system 99% cpu 1:08.54 total

patched:

pfctl -f tables100000.conf  0.35s user 6.41s system 99% cpu 6.771 total
pfctl -f tables100000.conf  0.48s user 6.47s system 99% cpu 6.949 total

Reviewed by:	kp (previous version)
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit f92c21a28c)
2021-07-14 14:50:12 +00:00
Stefan Eßer
791035c8da libalias: fix divide by zero causing panic
The packet_limit can fall to 0, leading to a divide by zero abort in
the "packets % packet_limit".

An possible solution would be to apply a lower limit of 1 after the
calculation of packet_limit, but since any number modulo 1 gives 0,
the more efficient solution is to skip the modulo operation for
packet_limit <= 1.

Reported by:	Karl Denninger <karl@denninger.net>

(cherry picked from commit 58080fbca0)
2021-07-14 13:49:21 +02:00
Kristof Provost
1fcecff2b3 pf: rename pf_state to pf_kstate
Indicate that this is a kernel-only structure, and make it easier to
distinguish from others used to communicate with userspace.

Reviewed by:	mjg
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D31096

(cherry picked from commit 211cddf9e3)
2021-07-14 07:55:54 +02:00
Andrew Gallatin
7751a6b585 tcp: fix alternate stack build with LINT-NO{INET,INET6,IP}
When fixing another bug, I noticed that the alternate
TCP stacks do not build when various combinations of
ipv4 and ipv6 are disabled.

Reviewed by:		rrs, tuexen
Differential Revision:	https://reviews.freebsd.org/D31094
Sponsored by:		 Netflix

(cherry picked from commit b1e806c0ed)
2021-07-13 22:00:50 +02:00
Randall Stewart
1bb521ab7d tcp: Fix 32 bit platform breakage
This fixes the incorrect use of a sysctl add to u64. It
was for a useconds time, but on 32 bit platforms its
not a u64. Instead use the long directive.

Reviewed by:		tuexen
Sponsored by:		Netflix Inc.
Differential Revision:	https://reviews.freebsd.org/D31107

(cherry picked from commit 7312e4e5cf)
2021-07-13 21:59:50 +02:00
Randall Stewart
deb3c279d1 tcp: HPTS performance enhancements
HPTS drives both rack and bbr, and yet there have been many complaints
about performance. This bit of work restructures hpts to help reduce CPU
overhead. It does this by now instead of relying on the timer/callout to
drive it instead use user return from a system call as well as lro flushes
to drive hpts. The timer becomes a backstop that dynamically adjusts
based on how "late" we are.

Reviewed by:		tuexen, glebius
Sponsored by:		Netflix Inc.
Differential Revision:	https://reviews.freebsd.org/D31083

(cherry picked from commit d7955cc0ff)
2021-07-13 21:58:30 +02:00
Randall Stewart
3b2aeae726 tcp: Address goodput and TLP edge cases.
There are several cases where we make a goodput measurement and we are running
out of data when we decide to make the measurement. In reality we should not make
such a measurement if there is no chance we can have "enough" data. There is also
some corner case TLP's that end up not registering as a TLP like they should, we
fix this by pushing the doing_tlp setup to the actual timeout that knows it did
a TLP. This makes it so we always have the appropriate flag on the sendmap
indicating a TLP being done as well as count correctly so we make no more
that two TLP's.

In addressing the goodput lets also add a "quality" metric that can be viewed via
blackbox logs so that a casual observer does not have to figure out how good
of a measurement it is. This is needed due to the fact that we may still make
a measurement that is of a poorer quality as we run out of data but still have
a minimal amount of data to make a measurement.

Reviewed by:		tuexen
Sponsored by: 		Netflix Inc.
Differential Revision:	https://reviews.freebsd.org/D31076

(cherry picked from commit e834f9a44a)
2021-07-13 21:57:20 +02:00
Randall Stewart
2e1fdc728b tcp: Preparation for allowing hardware TLS to be able to kick a tcp connection that is retransmitting too much out of hardware and back to software.
Hardware TLS is now supported in some interface cards and it works well. Except that
when we have connections that retransmit a lot we get into trouble with all the retransmits.
This prep step makes way for change that Drew will be making so that we can "kick out" a
session from hardware TLS.

Reviewed by:		tuexen, gallatin
Sponsored by: 		Netflix Inc
Differential Revision: 	https://reviews.freebsd.org/D30895

(cherry picked from commit 9e4d9e4c4d)
2021-07-13 21:56:06 +02:00
Andrew Gallatin
1843b06dee tcp: enter network epoch when calling tfb_tcp_fb_fini
We need to enter the network epoch when calling into
tfb_tcp_fb_fini.  I noticed this when I hit an assert
running the latest rack

Differential Revision: https://reviews.freebsd.org/D30407
Reviewed by: rrs, tuexen
Sponsored by: Netflix

(cherry picked from commit 086a35562f)
2021-07-13 21:54:43 +02:00
Randall Stewart
648c68168c tcp: Rack not being very friendly with V6:4 socket and having a connection from V4
There were two bugs that prevented V4 sockets from connecting to
a rack server running a V4/V6 socket. As well as a bug that stops the
mapped v4 in V6 address from working.

Reviewed by: 		tuexen
Sponsored by: 		Netflix Inc
Differential Revision:	https://reviews.freebsd.org/D30885
PR:			256657
(cherry picked from commit 66aec14a53)
2021-07-13 20:51:55 +02:00
Michael Tuexen
a3f96f1e57 sctp: Fix errno in case of association setup failures
Do not report always ETIMEDOUT, but only when appropriate. In
other cases report ECONNABORTED.

(cherry picked from commit 105b68b42d)
2021-07-13 20:30:57 +02:00
Michael Tuexen
9e8d5ea2b5 sctp: provide consistent stream information in case of early errors
While there, make sure the function is called correctly.

(cherry picked from commit ce64352a70)
2021-07-13 20:30:21 +02:00
Michael Tuexen
7f21500f49 sctp: provide sac_error also for ABORT chunk being sent
Thanks to Florent Castelli for bringing this issue up for the
userland stack and providing an initial patch.

(cherry picked from commit 84992a3251)
2021-07-13 20:29:33 +02:00
Michael Tuexen
6a4f29a3c4 sctp: initialize sequence numbers for ECN correctly
Reported by:	Junseok Yang (for the userland stack)

(cherry picked from commit c7f048ab35)
2021-07-13 20:28:48 +02:00
Michael Tuexen
24df96b642 sctp: Fix length check for ECNE chunks
(cherry picked from commit 6587a2bd1e)
2021-07-13 20:27:58 +02:00
Michael Tuexen
c5ba872129 tcp: tolerate missing timestamps
Some TCP stacks negotiate TS support, but do not send TS at all
or not for keep-alive segments. Since this includes modern widely
deployed stacks, tolerate the violation of RFC 7323 per default.

Reviewed by:		rgrimes, rrs, rscheff
Differential Revision:	https://reviews.freebsd.org/D30740
Sponsored by:		Netflix, Inc.

(cherry picked from commit 870af3f4dc)
2021-07-13 20:24:09 +02:00
Ka Ho Ng
67d02e1301 vmm: Fix ivrs_drv device_printf usage
The original %b description string is wrong.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	imp, jhb
Differential Revision:	https://reviews.freebsd.org/D30805

(cherry picked from commit 210e6aec4f)
2021-07-14 01:58:56 +08:00
Ryan Moeller
d5a71c929d zfsd: Check for error from zpool_vdev_online
Onlining a vdev can fail. Log the error if it does.

Reviewed by:	mav, asomers
MFC after:	1 week
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D30882

(cherry picked from commit 53b438b242)
2021-07-13 15:44:32 +00:00
Alexander Motin
a469b89bf2 nvme(4): Report NPWA before NPWG as stripesize.
New Samsung 980 SSDs report Namespace Preferred Write Alignment of
8 (4KB) and Namespace Preferred Write Granularity of 32 (16KB).
My quick tests show that 16KB is a minimal sequential write size
when the SSD reaches peak IOPS, so writing much less is very slow.
But writing slightly less or slightly more does not change much,
so it seems not so much a size granularity as minimum I/O size.

Thinking about different stripesize consumers:
 - Partition alignment should be based on NPWA by definition.
 - ZFS ashift in part of forcing alignment of all I/Os should also
be based on NPWA.  In part of forcing size granularity, if really
needed, it may be set to NPWG, but too big value can make ZFS too
space-inefficient, and the 16KB is actually the biggest supported
value there now.
 - ZFS recordsize/volblocksize could potentially be tuned up toward
NPWG to work as I/O size granularity, but enabled compression makes
it too fuzzy.  And those are normally user-configurable things.
 - ZFS I/O aggregation code could definitely use Optimal Write Size
value and may be NPWG, but we don't have fields in GEOM now to report
the minimal and optimal I/O sizes, and even maximal is not reported
outside GEOM DISK to be used by ZFS.

MFC after:	1 week

(cherry picked from commit e3bcd07d83)
2021-07-12 21:54:44 -04:00
Ed Maste
ae2e05423d Skip netgraph tests when WITHOUT_NETGRAPH is set
PR:		256986
Reported by:	John Marshall
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit c9144ec14d)
2021-07-12 20:27:19 -04:00
Edward Tomasz Napierala
5a604e56d4 nvmecontrol: fix typo (s/Managment/Management/)
Reported By:	pstef

(cherry picked from commit 95a74ab4fb)
2021-07-12 14:37:07 -06:00
Warner Losh
99ff43c0c7 nvmecontrol: update copyright on passthru command
I wrote this code, not Intel, so put my copyright on this. I mistakenly
copied it for the initial commit.

Sponsored by:		Netflix

(cherry picked from commit 6d6cca3633)
2021-07-12 14:37:07 -06:00
Warner Losh
d2299b7159 nvmecontrol: Report status from passthru commands
Report status from dword0 for passthru commands. Many commands report
some status or information here, so reporting it can help know what's
going on.

Sponsored by:		Netflix

(cherry picked from commit 510a3da147)
2021-07-12 14:37:07 -06:00
Warner Losh
39d7a1f479 nvmecontrol: document power command
The description of the power command is missing. While the synopsis is
present, there's no explanation. Add one.

Reviewed by:		mav, chuck
PR:			237866
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31122

(cherry picked from commit 445b5554bf)
2021-07-12 13:42:59 -06:00
Warner Losh
9cd9a0c869 stand/kmem_zalloc: panic when a M_WAITOK allocation fails
Malloc() might return NULL, in which case we will panic with a NULL
pointer deref. Make it panic when the allocation fails to preserve the
postcondtion that we never return a non-NULL value.

Reviewed by:		tsoome
PR:			249859
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31106

(cherry picked from commit 72821668b0)
2021-07-12 13:42:58 -06:00
Warner Losh
940fae4082 nanobsd: remove sparc64 embedded example
Remove the qemu sparc64 example. It was only ever compile tested since
qemu had issues booting FreeBSD/sparc64. Also remove obsolete info about
armv5 configs removed long ago.

Sponsored by:		Netflix

(cherry picked from commit 25a66f1fb1)
2021-07-12 13:42:13 -06:00
Warner Losh
ffb294bd31 nvme: coherently read status of completion records
Coherently read the phase bit of the status completion record. We loop
over the completion record array, looking for all the transactions in
the same phase that have been completed. In doing that, we have to be
careful to read the status field first, and if it indicates a complete
record, we need to read and process that record. Otherwise, the host
might be overtaken by device when reading this completion record,
leading to a mistaken belief that the record is in phase. This leads to
the code using old values and looking at an already completed entry, which
has no current tracker.

To work around this problem, we read the status and make sure it is in
phase, we then re-read the entire completion record guaranteeing it's
complete, valid, and consistent . In addition we resync the dmatag to
reflect changes since the prior loop for the bouncing dma case.

Reviewed by:		jrtc27@, chuck@
Found by:		jrtc27 (this fix is based in part on her D30995 fix)
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31002

(cherry picked from commit aa0ab681ae)
2021-07-12 13:39:58 -06:00
Warner Losh
8c66f8811d nvme: Fix alignment on nvme structures
Remove __packed from nvme_command, nvme_completion and
nvme_dsm_trim. Add super-alignment to nvme_completion since it's always
at least that aligned in hardware (and in our existing uses of it
embedded in structures). It generates better code in
nvme_qpair_process_completions on riscv64 because otherwise the ABI
assumes a 4-byte alignment, and the same on all other platforms.

Reviewed by:		jrtc27@, mav@, chuck@
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31001

(cherry picked from commit fea3cf1d6d)
2021-07-12 13:30:56 -06:00
Warner Losh
1a3011fe0b nvme: style nit
Put the { on the same line as the struct nvme_foo when we define these
structures. It's FreeBSD standard and these were inconsistent.

Sponsored by:		Netflix

(cherry picked from commit 80a75155e1)
2021-07-12 13:30:55 -06:00
Warner Losh
1109ce0da2 nvme: fix a race between failing the controller and failing requests
Part of the nvme recovery process for errors is to reset the
card. Sometimes, this results in failing the entire controller. When nda
is in use, we free the sim, which will sleep until all the I/O has
completed. However, with only one thread, the request fail task never
runs once the reset thread sleeps here. Create two threads to allow I/O
to fail until it's all processed and the reset task can proceed.

This is a temporary kludge until I can work out questions that arose
during the review, not least is what was the race that queueing to a
failure task solved. The original commit is vague and other error paths
in the same context do a direct failure. I'll investigate that more
completely before committing changing that to a direct failure. mav@
raised this issue during the review, but didn't otherwise object.

Multiple threads, though, solve the problem in the mean time until other
such means can be perfected.

Reviewed by:		jhb@
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30366

(cherry picked from commit f0f4712165)
2021-07-12 13:30:55 -06:00
Warner Losh
c7b2c5da00 nvme: use config_intrhook_drain to avoid removable card races
nvme drives are configured early in boot. However, a number of the configuration
steps takes which take a while, so we defer those to a config intrhook that runs
before the root filesystem is mounted. At the same time, the PCI hot plug wakes
up and tests the status of the card. It may decide that the card has gone away
and deletes the child. As part of that process nvme_detach is called. If this
call happens after the config_intrhook starts to run, but before it is finished,
there's a race where we can tear down the device's soft state while the
config_intrhook is still using it. Use the new config_intrhook_drain to
disestablish the hook. Either it will be removed w/o running, or the routine
will wait for it to finish. This closes the race and allows safe hotplug at any
time, even very early in boot.

Sponsored by:		Netflix, Inc
Reviewed by:		jhb, mav
Differential Revision:	https://reviews.freebsd.org/D29006

(cherry picked from commit 8423f5d4c1)
2021-07-12 13:30:55 -06:00
Warner Losh
d765d5c2c3 config_intrhook: provide config_intrhook_drain
config_intrhook_drain will remove the hook from the list as
config_intrhook_disestablish does if the hook hasn't been called.  If it has,
config_intrhook_drain will wait for the hook to be disestablished in the normal
course (or expedited, it's up to the driver to decide how and when
to call config_intrhook_disestablish).

This is intended for removable devices that use config_intrhook and might be
attached early in boot, but that may be removed before the kernel can call the
config_intrhook or before it ends. To prevent all races, the detach routine will
need to call config_intrhook_train.

Sponsored by:		Netflix, Inc
Reviewed by:		jhb, mav, gde (in D29006 for man page)
Differential Revision:	https://reviews.freebsd.org/D29005

(cherry picked from commit e52368365d)
2021-07-12 13:30:55 -06:00
Gordon Bergling
9428c3c912 math(3): Use the .Fa macro for function arguments
.Fa is the suitable macro for functions in comparsion to the
.Ar macro, which should be used for commandline arguments.

While here, fix some mandoc warnings.

Reviewed by:	imp (earlier version)
Obtained from:	OpenBSD (in partial)
Differential Revision:	https://reviews.freebsd.org/D31090

(cherry picked from commit c5cbef2f85)
2021-07-12 06:07:24 +02:00
Ed Maste
2e96f26355 clang: stop linking _p libs for -pg as of FreeBSD 14
In FreeBSD 14 we will stop providing _p libraries (compiled with -pg).

[Note this is controlled by the target version.  There is no change for
FreeBSD <= 13.]

Reviewed by:	dim (upstream)
Obtained from:	LLVM 699d47472c3f
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30861

(cherry picked from commit b762974cf4)
2021-07-11 19:27:47 -04:00
Rick Macklem
ac0343b88d RELNOTES: Add an entry for commit 8a04edfdcb
This is a direct commit.
2021-07-11 15:45:00 -07:00
Rick Macklem
e5c2f39823 UPDATING: Add an entry for commit 8a04edfdcb
This is a direct commit.
2021-07-11 15:39:23 -07:00
Rick Macklem
50f2705d26 mount_nfs.8: Update the man page for commit a145cf3f73
The NFSv4 client now uses the highest minor version of NFSv4
by default instead of minor version 0, for NFSv4 mounts.
The "minorversion" mount option may be used to override this default.

This patch updates the man page to reflect this change.  While here,
fix nfsstat(8) to be nfsstat(1).

(cherry picked from commit b413b03597)
2021-07-11 15:30:01 -07:00
Rick Macklem
8a04edfdcb nfscl: Change the default minor version for NFSv4 mounts
When NFSv4.1 support was added to the client, the implementation was
still experimental and, as such, the default minor version was set to 0.
Since the NFSv4.1 client implementation is now believed to be solid
and the NFSv4.1/4.2 protocol is significantly better than NFSv4.0,
I beieve that NFSv4.1/4.2 should be used where possible.

This patch changes the default minor version for NFSv4 to be the highest
minor version supported by the NFSv4 server. If a specific minor version
is desired, the "minorversion" mount option can be used to override
this default.  This is compatible with the Linux NFSv4 client behaviour.

This was discussed on freebsd-current@ in mid-May 2021 under
the subject "changing the default NFSv4 minor version" and
the consensus seemed to be support for this change.
It also appeared that changing this for FreeBSD 13.1 was
not considered a POLA violation, so long as UPDATING
and RELNOTES entries were made for it.

(cherry picked from commit a145cf3f73)
2021-07-11 15:26:55 -07:00
Hans Petter Selasky
47c5e288ee Narrow down the probe range for if_ure(4) compatible devices
to only match the first vendor specific interface, if any.

PR:		253374
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit dab84426a6)
2021-07-10 21:17:29 +02:00
Hans Petter Selasky
77f7133bd5 Add support for RTL8153B, RTL8156 and RTL8156B to if_ure(4).
Submitted by:	fbbz@synack.eu
PR:		253374
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit d4cf41a99b)
2021-07-10 21:17:26 +02:00
Hans Petter Selasky
5e0a56256c ibstat: Include prototype for sysctlbyname().
Fixes the following compile warning:
      implicit declaration of function 'sysctlbyname' is invalid in C99
      [-Wimplicit-function-declaration]

Found by:	J87
Differential Revision:	https://reviews.freebsd.org/D30484
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit 16fa3dcba0)
2021-07-10 21:17:24 +02:00
Hans Petter Selasky
e50fd67784 Improve handling of USB device re-open in the LibUSB v1.x API.
Make sure the "device_is_gone" flag is cleared after every successful open,
so that the "device_is_gone" flag doesn't persist forever.

Found by:	sergii.dmytruk@3mdeb.com
PR:		256296
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit 6847ea5019)
2021-07-10 21:10:10 +02:00
Warner Losh
666abb0888 one-true-awk: import 20210221 (1e4bc42c53a1) which fixes a number of bugs
Import the latest bsd-features branch of the one-true-awk upstream:

o Move to bison for $YACC
o Set close-on-exec flag for file and pipe redirects that aren't std*
o lots of little fixes to modernize ocde base
o free sval member before setting it
o fix a bug where a{0,3} could match aaaa
o pull in systime and strftime from NetBSD awk
o pull in fixes from {Net,Free,Open}BSD (normalized our code with them)
o add BSD extensions and, or, xor, compl, lsheift, rshift (mostly a nop)

Also revert a few of the trivial FreeBSD changes that were done slightly
differently in the upstreaming process. Also, our PR database may have
been mined by upstream for these fixes, and Mikolaj Golub may deserve
credit for some of the fixes in this update.

Suggested by:		Mikolaj Golub <to.my.trociny@gmail.com>
PR:			143363, 143365, 143368, 143369, 143373, 143375, 214783
Sponsored by:		Netflix

(cherry picked from commit f39dd6a978)
2021-07-10 11:07:26 -06:00
Martin Matuska
e1946a699d zfs: merge openzfs/zfs@4f92fe0f5 (zfs-2.1-release) into stable/13
OpenZFS release 2.1.0

Version bump only, no changes in code.

Obtained from:	OpenZFS
OpenZFS commit:	4f92fe0f5c
OpenZFS tag:	zfs-2.1.0
Relnotes:	yes
2021-07-10 17:59:52 +02:00
Martin Matuska
a4c1676749 zfs: update zfs_config.h to match current OpenZFS version (4f92fe0f5)
TBD: fetch(3) support for keylocation=http(s)://

(direct commit)
2021-07-10 17:56:31 +02:00
Martin Matuska
804a060891 zfs: attach zpool_influxdb to build
From the zpool_influxdb.8 manual page:
  zpool_influxdb produces InfluxDB-line-protocol-compatible metrics from
  zpools.  Like the zpool command, zpool_influxdb reads the current pool
  status and statistics.  Unlike the zpool command which is intended for
  humans, zpool_influxdb formats the output in the InfluxDB line protocol.
  The expected use is as a plugin to a metrics collector or aggregator,
  such as Telegraf.

zpool_influxdb is installed into /usr/libexec/zfs/

Differential revision:	https://reviews.freebsd.org/D31094

(cherry picked from commit 48b4fe0503)
2021-07-10 12:26:42 +02:00