aboutsummaryrefslogtreecommitdiff
path: root/cddl/lib/libdtrace
Commit message (Collapse)AuthorAgeFilesLines
* Remove -I flag for include path that doesn't existAlex Richardson2020-09-101-1/+0
| | | | | | | | | | Found this while trying to get macOS bootstrap to work again after OpenZFS merge. Reviewed By: #zfs, freqlabs Differential Revision: https://reviews.freebsd.org/D26192 Notes: svn path=/head/; revision=365580
* Correct the D definition for EINTEGRITY.Mark Johnston2020-09-011-1/+1
| | | | | | | | | MFC after: 1 week Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Notes: svn path=/head/; revision=365047
* Merge OpenZFS support in to HEAD.Matt Macy2020-08-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort. I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak. Work on merging FreeBSD support in to what was at the time "ZFS on Linux" began in August 2018. I first publicly proposed transitioning FreeBSD to (new) OpenZFS on December 18th, 2018. FreeBSD support in OpenZFS was finally completed in December 2019. A CFT for downstreaming OpenZFS support in to FreeBSD was first issued on July 8th. All issues that were reported have been addressed or, for a couple of less critical matters there are pull requests in progress with OpenZFS. iXsystems has tested and dogfooded extensively internally. The TrueNAS 12 release is based on OpenZFS with some additional features that have not yet made it upstream. Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression. Thanks to those who have helped along the way: Ryan Moeller, Allan Jude, Zack Welch, and many others. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25872 Notes: svn path=/head/; revision=364746
* - Cleanups related to sparc64 removal.Yoshihiro Takahashi2020-07-281-3/+0
| | | | | | | | | | - Remove remains of sparc64 files. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D25831 Notes: svn path=/head/; revision=363644
* sack_newdata and snd_recover hold the same value. Therefore, use onlyMichael Tuexen2020-02-131-1/+1
| | | | | | | | | | a single instance: use snd_recover also where sack_newdata was used. Submitted by: Richard Scheffenegger Differential Revision: https://reviews.freebsd.org/D18811 Notes: svn path=/head/; revision=357858
* Create new EINTEGRITY error with message "Integrity check failed".Kirk McKusick2019-01-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | An integrity check such as a check-hash or a cross-correlation failed. The integrity error falls between EINVAL that identifies errors in parameters to a system call and EIO that identifies errors with the underlying storage media. EINTEGRITY is typically raised by intermediate kernel layers such as a filesystem or an in-kernel GEOM subsystem when they detect inconsistencies. Uses include allowing the mount(8) command to return a different exit value to automate the running of fsck(8) during a system boot. These changes make no use of the new error, they just add it. Later commits will be made for the use of the new error number and it will be added to additional manual pages as appropriate. Reviewed by: gnn, dim, brueffer, imp Discussed with: kib, cem, emaste, ed, jilles Differential Revision: https://reviews.freebsd.org/D18765 Notes: svn path=/head/; revision=343111
* Add support for send, receive and state-change DTrace providers forMichael Tuexen2018-08-222-0/+172
| | | | | | | | | | | | SCTP. They are based on what is specified in the Solaris DTrace manual for Solaris 11.4. Reviewed by: 0mp, dteske, markj Relnotes: yes Differential Revision: https://reviews.freebsd.org/D16839 Notes: svn path=/head/; revision=338213
* Add a dtrace provider for UDP-Lite.Michael Tuexen2018-07-313-0/+81
| | | | | | | | | | | | | | The dtrace provider for UDP-Lite is modeled after the UDP provider. This fixes the bug that UDP-Lite packets were triggering the UDP provider. Thanks to dteske@ for providing the dwatch module. Reviewed by: dteske@, markj@, rrs@ Relnotes: yes Differential Revision: https://reviews.freebsd.org/D16377 Notes: svn path=/head/; revision=337018
* Add support for TCP state names used by Solaris.Michael Tuexen2018-07-141-0/+26
| | | | | | | | | | | | | For compatibility, add the TCP state names used by Solaris and given in the Dtrace Guide available at https://docs.oracle.com/cd/E37838_01/html/E61035/glhgu.html#OSDTGglhmv Reviewed by: markj@ Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D16269 Notes: svn path=/head/; revision=336285
* The IP, TCP, and UDP provider report IP addresses as strings.Michael Tuexen2018-06-183-8/+8
| | | | | | | | | | | | | | | | In some cases, the required information is not available and the UDP provider reported an empty string in this case and the IP and TCP provider reported a NULL pointer. This patch changes the value provided in this case to the string "<unknown>". This make the behaviour consistent and in-line with the behaviour of Solaris. Reviewed by: markj@, dteske@, gnn@ Differential Revision: https://reviews.freebsd.org/D15855 Notes: svn path=/head/; revision=335325
* Unbreak dtrace runtime for udp after svn r334719 SO_REUSEPORT commit.Sean Bruno2018-06-071-4/+4
| | | | | | | | Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Limeligght Networks Notes: svn path=/head/; revision=334788
* Load balance sockets with new SO_REUSEPORT_LB option.Sean Bruno2018-06-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new socket option, SO_REUSEPORT_LB, which allow multiple programs or threads to bind to the same port and incoming connections will be load balanced using a hash function. Most of the code was copied from a similar patch for DragonflyBSD. However, in DragonflyBSD, load balancing is a global on/off setting and can not be set per socket. This patch allows for simultaneous use of both the current SO_REUSEPORT and the new SO_REUSEPORT_LB options on the same system. Required changes to structures: Globally change so_options from 16 to 32 bit value to allow for more options. Add hashtable in pcbinfo to hold all SO_REUSEPORT_LB sockets. Limitations: As DragonflyBSD, a load balance group is limited to 256 pcbs (256 programs or threads sharing the same socket). This is a substantially different contribution as compared to its original incarnation at svn r332894 and reverted at svn r332967. Thanks to rwatson@ for the substantive feedback that is included in this commit. Submitted by: Johannes Lundberg <johalun0@gmail.com> Obtained from: DragonflyBSD Relnotes: Yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D11003 Notes: svn path=/head/; revision=334719
* Revert r332894 at the request of the submitter.Sean Bruno2018-04-241-4/+4
| | | | | | | | Submitted by: Johannes Lundberg <johalun0_gmail.com> Sponsored by: Limelight Networks Notes: svn path=/head/; revision=332967
* Load balance sockets with new SO_REUSEPORT_LB optionSean Bruno2018-04-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new socket option, SO_REUSEPORT_LB, which allow multiple programs or threads to bind to the same port and incoming connections will be load balanced using a hash function. Most of the code was copied from a similar patch for DragonflyBSD. However, in DragonflyBSD, load balancing is a global on/off setting and can not be set per socket. This patch allows for simultaneous use of both the current SO_REUSEPORT and the new SO_REUSEPORT_LB options on the same system. Required changes to structures Globally change so_options from 16 to 32 bit value to allow for more options. Add hashtable in pcbinfo to hold all SO_REUSEPORT_LB sockets. Limitations As DragonflyBSD, a load balance group is limited to 256 pcbs (256 programs or threads sharing the same socket). Submitted by: Johannes Lundberg <johanlun0@gmail.com> Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D11003 Notes: svn path=/head/; revision=332894
* Consistent casing for fallback SIGCHLD (s/Unknown/unknown/)Devin Teske2018-02-261-1/+1
| | | | Notes: svn path=/head/; revision=329996
* Updates and enhancements to signal.d to aid DTrace scriptingDevin Teske2018-02-251-0/+52
| | | | | | | | | | | | | + Add missing signals SIGTHR (32) and SIGLIBRT (33) + Add inline for converting SIG* int to string + Add inline for converting CLD_* int to string Reviewed by: markj Sponsored by: Smule, Inc. Differential Revision: https://reviews.freebsd.org/D14497 Notes: svn path=/head/; revision=329995
* Updates and enhancements to io.d to aid DTrace scriptingDevin Teske2018-02-241-0/+154
| | | | | | | | | | | | | | | | | + Add dev_type do devinfo_t + Add b_cmd to bufinfo_t + Add constants for BIO_* and DEVSTAT_TYPE_* + Add inline for converting BIO_* int to string + Add inline for converting DEVSTAT_TYPE_* int to string + Add mask for dev_type & DEVSTAT_TYPE_MASK to string + Add mask for dev_type & DEVSTAT_TYPE_IF_MASK to string Reviewed by: markj Sponsored by: Smule, Inc. Differential Revision: https://reviews.freebsd.org/D14396 Notes: svn path=/head/; revision=329914
* Add inline to errno.d for translating int to stringDevin Teske2018-02-161-0/+110
| | | | | | | | | | | Gives DTrace scripts strerror(3) functionality. Reviewed by: markj Sponsored by: Smule, Inc. Differential Revision: https://reviews.freebsd.org/D14386 Notes: svn path=/head/; revision=329353
* Add the following errno definitions to /usr/lib/dtrace/errno.dDevin Teske2018-02-151-1/+11
| | | | | | | | | | | | | | | | | ENOTCAPABLE (93) ECAPMODE (94) ENOTRECOVERABLE (95) EOWNERDEAD (96) ERELOOKUP (-5) and update ELAST (92 -> 96) Reviewed by: markj Sponsored by: Smule, Inc. Differential Revision: https://reviews.freebsd.org/D14340 Notes: svn path=/head/; revision=329334
* Use tabs in io.d, fix alignment issues, remove extraneous newlinesDevin Teske2018-02-128-112/+107
| | | | Notes: svn path=/head/; revision=329188
* Remove uneeded parentheses.Mark Johnston2018-01-251-1/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=328398
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-311-1/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* Add D definitions for the named values in socket.hGeorge V. Neville-Neil2017-09-072-0/+302
| | | | | | | | | Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D12241 Notes: svn path=/head/; revision=323253
* cddl: normalize paths using SRCTOP-relative paths or :H when possibleEnji Cooper2017-03-041-20/+20
| | | | | | | | | | | | | This simplifies make logic/output While here, remove bogus CFLAGS which look for headers in cddl/lib/libumem. There aren't any source files there (just Makefiles) MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314654
* Add an mbuf to ipinfo_t translator to finish cleanup of mbuf passing to TCP ↵George V. Neville-Neil2017-02-011-0/+18
| | | | | | | | | | | | probes. Reviewed by: markj MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9401 Notes: svn path=/head/; revision=313045
* Convert ipv4_flags and ipv4_offset fields into host byte order.Andrey V. Elsukov2016-12-291-2/+2
| | | | | | | | | | | Also save only high bits in the ipv4_flags, because it is defined as uint8_t. So now it will show DF and MF flags as 0x40 and 0x20. Reviewed by: markj@ MFC after: 1 week Notes: svn path=/head/; revision=310785
* libproc: Add support for some proc_attach() flags.Mark Johnston2016-12-061-0/+3
| | | | | | | | | | This change adds some handling for the equivalent of Solaris' PGRAB_* flags. In particular, support for PGRAB_RDONLY is needed to avoid a nasty deadlock: dtrace(1) may otherwise stop the master process for its pseudo-terminal and end up blocking while writing to standard output. Notes: svn path=/head/; revision=309597
* libproc: Match prefixes when looking up mapped object by name.Mark Johnston2016-12-061-1/+1
| | | | | | | | | | | | | | | | | When looking up an object by name, allow prefix matches if no direct match is found. This allows one to, for example, match libc entry probes with: # dtrace -n 'pid$target:libc.so::entry' -c ./foo instead of requiring "libc.so.7" or a glob. Also remove proc_obj2map() as it currently just duplicates the functionality of proc_name2map(). It's supposed to take a Solaris link-map ID as a paramter, but support for this isn't implemented and isn't required to support DTrace's pid provider. Notes: svn path=/head/; revision=309595
* Define dependencies for some auto-generated source files in libdtrace.Mark Johnston2016-11-171-7/+5
| | | | | | | | | | | Remove an unneeded beforedepend rule. Reported by: emaste, jhb Reviewed by: bdrewery MFC after: 1 week Notes: svn path=/head/; revision=308773
* Unlike Solaris, in FreeBSD p_args can be 0 so check for thatGeorge V. Neville-Neil2016-08-251-1/+1
| | | | | | | | | | | | instead of walking down to ar_args blindly. Reported by: Amanda Strnad Reviewed by: markj, jhb MFC after: 2 weeks Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=304825
* MFV r304057:Mark Johnston2016-08-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 7085 add support for "if" and "else" statements in dtrace illumos/illumos-gate@c3bd3abd8856e8e75d820f65c58031cd6cbac818 Add syntactic sugar to dtrace: "if" and "else" statements. The sugar is baked down to standard dtrace features by adding additional clauses with the appropriate predicates. Reviewed by: Adam Leventhal <ahl@delphix.com> Reviewed by: Sebastien Roy <sebastien.roy@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Matthew Ahrens <mahrens@delphix.com> MFC after: 2 weeks Relnotes: yes Notes: svn path=/head/; revision=304200
* On FreeBSD there is a setsockopt option SO_USER_COOKIE which allowsGeorge V. Neville-Neil2016-07-081-0/+3
| | | | | | | | | | | | | | | | | setting a 32 bit value on each socket. This can be used by applications and DTrace as a rendezvous point so that an applicaton's data can more easily be captured at run time. Expose the user cookie via DTrace by updating the translator in tcp.d and add a quick test program, a TCP server, that sets the cookie on each connection accepted. Reviewed by: hiren MFC after: 1 week Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D7152 Notes: svn path=/head/; revision=302474
* Add initial DTrace support for RISC-V.Ruslan Bukin2016-05-241-0/+4
| | | | | | | | Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Notes: svn path=/head/; revision=300618
* Fix the 'type' for a few variables from tcpcb.Hiren Panchasara2016-04-151-4/+4
| | | | | | | | | Reviewed by: markj Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D5973 Notes: svn path=/head/; revision=298087
* fix tcpdebug: - assign to "flags" in each probe, not only debug-inputGeorge V. Neville-Neil2016-03-031-0/+14
| | | | | | | | | | | compute "len" in the same way in each probe Submitted by: Hannes Mehnert MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D5524 Notes: svn path=/head/; revision=296335
* DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery2016-02-241-27/+0
| | | | | | | | | | | These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295989
* META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.Bryan Drewery2015-11-251-1/+0
| | | | | | | | | | | This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291307
* Use FILES for installing the dtrace scripts.Bryan Drewery2015-09-181-7/+4
| | | | | | | | | | | | The BSD.usr.dist mtree always creates /usr/lib/dtrace so there is no need to check if it exists. The FILES mechanism already supports LIBRARIES_ONLY. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287971
* Remove an unneeded typedef of ip6_t from the DTrace ip provider library.Mark Johnston2015-09-151-3/+2
| | | | | | | | | | | It causes an error when ipfilter is enabled, since ipl.ko contains an identical typedef. PR: 203092 MFC after: 1 week Notes: svn path=/head/; revision=287807
* dd DTrace probe points, translators and a corresponding scriptGeorge V. Neville-Neil2015-09-131-1/+132
| | | | | | | | | | | | to provide the TCPDEBUG functionality with pure DTrace. Reviewed by: rwatson MFC after: 2 weeks Sponsored by: Limelight Networks Differential Revision: D3530 Notes: svn path=/head/; revision=287759
* - Use an explicit "depends_on module kernel" guard in DTrace libraries thatMark Johnston2015-08-0710-8/+11
| | | | | | | | | | | | | | | | | | reference types defined in the kernel. Otherwise dtrace(1) expects to find CTF definitions for all referenced types, which is not very reasonable when it is being used in a build environment. This was previously worked around by adding "-x nolibs" to dtrace -h or -G invocations, but as of r283025, dtrace(1) actually handles dependencies properly, so this is no longer necessary. - Remove "pragma ident" directives from DTrace libraries, as they're being phased out upstream as well. Submitted by: Krister Johansen <Krister.Johansen@isilon.com> [1] MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=286420
* First cut of DTrace for AArch64.Ruslan Bukin2015-07-011-8/+12
| | | | | | | | | Reviewed by: andrew, emaste Sponsored by: ARM Limited Differential Revision: https://reviews.freebsd.org/D2738 Notes: svn path=/head/; revision=285009
* Add META_MODE support.Simon J. Gerraty2015-06-131-0/+53
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-274-1/+111
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Merge from head@274682Simon J. Gerraty2014-11-192-4/+7
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * \ Merge head from 7/28Simon J. Gerraty2014-08-194-57/+59
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | | Updated dependenciesSimon J. Gerraty2014-05-161-1/+1
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * | | Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | | Merge from headSimon J. Gerraty2014-05-081-1/+0
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720