summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/opensolaris
Commit message (Collapse)AuthorAgeFilesLines
...
* MFV 286546:mav2015-08-091-1/+17
| | | | | | | | | | | | 5661 ZFS: "compression = on" should use lz4 if feature is enabled Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Xin LI <delphij@freebsd.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Justin T. Gibbs <justing@spectralogic.com> illumos/illumos-gate@db1741f555ec79def5e9846e6bfd132248514ffe
* Don't hardcode the module or function component of lockstat probes.markj2015-08-026-6/+6
| | | | MFC after: 1 week
* - Remove hardcoded paths for the perl executable.markj2015-08-026-7/+20
| | | | | | | | | - Rather than assuming that a process is listening on 127.0.0.1:22, use nc(1) to find an available port and bind to it for the duration of the test. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Perform bounds checking when constructing a format string.markj2015-08-021-5/+17
| | | | | | | | This was detected by the FORTIFY_SOURCE build. PR: 201657 Reported by: pfg MFC after: 2 weeks
* Fix a rendering issue in the zfs(8) manual.gjb2015-07-301-3/+3
| | | | | MFC after: 3 days Sponsored by: The FreeBSD Foundation
* Consistently use a reader/writer flag for lockstat probes in rwlock(9) andmarkj2015-07-191-8/+8
| | | | | sx(9), rather than using the probe function name to determine whether a given lock is a read lock or a write lock. Update lockstat(1) accordingly.
* First cut of DTrace for AArch64.br2015-07-012-3/+156
| | | | | | Reviewed by: andrew, emaste Sponsored by: ARM Limited Differential Revision: https://reviews.freebsd.org/D2738
* zfs clone should not mount the clone if canmount == noautoavg2015-06-121-11/+30
| | | | | | | | | | | | | | | | | | Creation of a new filesystem does not imply an intent to mount it. Since canmount property is not inherited and its default value is 'on', the only scenario where this matters is zfs clone -o canmount=noauto. zfs create -o canmount=noauto already does not mount the new filesystem. Also see: https://www.illumos.org/issues/5984 https://reviews.csiden.org/r/228/ https://github.com/FransUrbo/zfs/commit/dd0e0e69f5b1c83bf2895ac00a0b83af77473175 https://github.com/zfsonlinux/zfs/issues/2241 Reviewed by: mahrens MFC after: 8 days Sponsored by: ClusterHQ
* MFV r284042: 1778 Assertion failed: rn->rn_nozpool == B_FALSE, fileavg2015-06-121-4/+1
| | | | | | | | | ../common/libzfs_import.c, line 1077, function zpool_open_func illumos/illumos-gate@bd0f709169e67f4bd34526e186a7c34f595f0d9b Author: Andrew Stormont <andyjstormont@gmail.com> MFC after: 13 days
* MFV r284030: 5818 zfs {ref}compressratio is incorrect with 4k sector sizeavg2015-06-121-17/+2
| | | | | | | illumos/illumos-gate@81cd5c555f505484180a62ca5a2fbb00d70c57d6 Author: Matthew Ahrens <mahrens@delphix.com> MFC after: 17 days
* several lockstat improvementsavg2015-06-121-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0. For spin events report time spent spinning, not a loop count. While loop count is much easier and cheaper to obtain it is hard to reason about the reported numbers, espcially for adaptive locks where both spinning and sleeping can happen. So, it's better to compare apples and apples. 1. Teach lockstat about FreeBSD rw locks. This is done in part by changing the corresponding probes and in part by changing what probes lockstat should expect. 2. Teach lockstat that rw locks are adaptive and can spin on FreeBSD. 3. Report lock acquisition events for successful rw try-lock operations. 4. Teach lockstat about FreeBSD sx locks. Reporting of events for those locks completely mirrors rw locks. 5. Report spin and block events before acquisition event. This is behavior documented for the upstream, so it makes sense to stick to it. Note that because of FreeBSD adaptive lock implementations both the spin and block events may be reported for the same acquisition while the upstream reports only one of them. Differential Revision: https://reviews.freebsd.org/D2727 Reviewed by: markj MFC after: 17 days Relnotes: yes Sponsored by: ClusterHQ
* At revision r247852 accidentally was removed from print the variable obj.araujo2015-06-121-8/+6
| | | | | | | | While here, declare some global variables as static to silence clang warnings. Differential Revision: D2722 Reviewed by: delphij, mahrens
* libdtrace: allow D libraries to declare dependencies on kernel modulesmarkj2015-06-065-0/+100
| | | | | | | | | | | | The "depends_on module" pragma can be used to declare a dependency on a DTrace module, which for kernel probes corresponds to a KLD. Such dependencies cannot be checked if the KLD is compiled into the kernel. Therefore, allow a module dependency to be satisfied if either a kernel module or a KLD with the specified name is loaded. Differential Revision: https://reviews.freebsd.org/D2653 Reviewed by: gnn, rpaulo Reported by: gnn
* lockstat(1): document the -V option.markj2015-05-252-2/+8
| | | | MFC after: 3 days
* Fix a typo that snuck in with r283024, and remove the EXFAIL annotation frommarkj2015-05-171-1/+1
| | | | a test which now passes as a result of that change.
* Respect the libdir option when linking drti.o, rather than hardcoding themarkj2015-05-172-16/+14
| | | | | | default path of /usr/lib(32)/dtrace. MFC after: 3 weeks
* As dtrace(1) processes D libraries under /usr/lib/dtrace, the compiler maymarkj2015-05-171-0/+1
| | | | | | | | | | | return an error if one of the depends_on directives in a library is not satisfied. In this case, libdtrace is supposed to ignore the library and carry on. However, the remainder of the library may still be buffered by the lexer, causing libdtrace to erroneously continue processing it on the next call to yyparse(). Fix this by explicitly flushing the input buffer each time the compiler state is reset. MFC after: 3 weeks
* When in lazyload mode, write the DOF to a temporary file and rename itmarkj2015-05-171-13/+16
| | | | | | rather than writing directly to the output file. CID: 1147172
* ctf_add_type(): when looking up an integer or floating point type in themarkj2015-05-101-4/+17
| | | | | | | | | | | | | | | list of pending dynamic type definitions, a match on the type name is not sufficient - we need to compare the type encodings as well. For example, bitfields have their own distinct type definitions which share the name of the underlying integer type, and these types aren't generally interchangeable. This bug was causing the following libdtrace error when attempting to trace the th_flags member of a struct tcphdr: cg: bad field: off 104 type <32877> bits 539620016 Reported by: rwatson MFC after: 3 weeks
* dump_nvlist: handle DATA_TYPE_BOOLEAN_ARRAYavg2015-04-281-0/+11
| | | | | To do: upstream (https://www.illumos.org/issues/5752) MFC after: 10 days
* Add manual pages for the io, ip, proc, sched, tcp and udp DTrace providers.markj2015-04-181-2/+3
| | | | | | | | | The format of these pages is somewhat experimental, so they may be subject to further tweaking. Differential Revision: https://reviews.freebsd.org/D2170 Reviewed by: bcr, rpaulo MFC after: 2 weeks
* libdtrace: add support for lazyload mode.markj2015-04-083-17/+79
| | | | | | | | | | | Passing "-x lazyload" to dtrace -G during compilation causes dtrace(1) to not link drti.o into the output object file, so the USDT probes are not created during process startup. Instead, dtrace(1) will automatically discover and create probes on the process' behalf when attaching. Differential Revision: https://reviews.freebsd.org/D2203 Reviewed by: rpaulo MFC after: 1 month
* Fix a misparenthesization that could cause a crash if TERM is not set.markj2015-03-311-2/+2
| | | | | | Reported by: Coverity (internal) MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
* Fix ping(8) and ping6(8) usage in a couple of ip provider tests, andmarkj2015-03-304-16/+22
| | | | | | | update expected test output to reflect differences in default TTL and payload length. MFC after: 1 week
* Fix ping(8) usage in funcs/tst.system.d so that the test actually completes.markj2015-03-302-6/+15
| | | | MFC after: 1 week
* tcp provider tests: sleep for a bit after closing the socket so thatmarkj2015-03-284-0/+4
| | | | | | libdtrace has a chance to capture the traced data. MFC after: 1 week
* Add a missing format string argument.markj2015-03-151-1/+1
| | | | | PR: 197391 MFC after: 3 days
* When copying a type from a source CTF container to a destination container,markj2015-03-111-4/+7
| | | | | | | | | | | | | | | | | | ctf_add_type() first performs a by-name lookup of the type in the destination container. If this lookup returns a forward declaration for an enum, struct, or union, reset dst_type back to CTF_ERR, indicating that the source type is not in fact present in the destination container. This ensures that ctf_add_type() will also search the destination container's dynamic type list for the source type. Without this change, a pair of mutually recursive struct definitions could cause infinite recursion in ctf_add_type() if the destination container only contained forward declarations for the struct types: ctf_add_type() recursively calls itself on each struct member's type, and the forward declarations meant that the dynamic type list search would be skipped. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* CTF containers use the ctf_dtoldid field as a threshold type index whichmarkj2015-03-101-2/+2
| | | | | | | | | | | | | | | | | indicates the range of type indices which have been committed to the container by ctf_update(). However, the top bit of the dtd_type field is not part of the type index; rather, it is a flag used to indicate that the corresponding CTF container is a parent. This is why the maximum CTF type index is 2^15 - 1 rather than 2^16 - 1. Therefore, this flag must be masked off (using the CTF_TYPE_TO_INDEX macro) when comparing a type index with the ctf_dtoldid field of a container. This bug was causing libctf to erroneously free committed type definitions in ctf_discard(). libdtrace holds some references to such types, resulting in a use-after-free. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* ctf_discard(): fetch the next list element before restarting the loop. Ifmarkj2015-03-101-1/+1
| | | | | | | | | | we end up skipping a dynamic type because it has already been committed to the container, we would previously either set the loop variable to an uninitialized local variable, or set it to itself, resulting in an infinite loop. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* MFV r279822:markj2015-03-101-2/+0
| | | | | | | | | | | This merge is effectively a no-op since parts of it are already present in FreeBSD, and the rest is incorrect since gelf_newehdr(3) and gelf_newphdr(3) return pointers on FreeBSD rather than integers. Illumos issue: 5589 improper use of NULL in tools/ctf MFC after: 3 days
* Use the -shared option to create a shared library.markj2015-02-285-8/+8
| | | | MFC after: 1 week
* Remove a leading tab that causes a make(1) error when running the test.markj2015-02-281-1/+1
| | | | MFC after: 1 week
* Only kill sleep processes that were forked from the test script.markj2015-02-281-1/+1
| | | | MFC after: 1 week
* Stop hard-coding an incorrect path to rm(1).markj2015-02-285-5/+5
| | | | MFC after: 1 week
* Set altroot if the user have specified it via -o altroot.delphij2015-02-271-0/+2
| | | | MFC after: 2 weeks
* Remove drti.o's dependency on libelf. This makes it possible to add DTracemarkj2015-02-185-72/+86
| | | | | | | | | | | | | | | | | | | probes to userland programs and libraries without also needing to link libelf. dtrace -G places the __SUNW_dof symbol at the beginning of the DOF (DTrace probe and provider metdata) section in the generated object file; drti.o now just uses this symbol to locate the section. A complication occurs when multiple dtrace-generated object files are linked together, since the __SUNW_dof symbol defined in each file is global. This is handled by using objcopy(1) to convert __SUNW_dof to a local symbol once drti.o has been linked with the generated object file. Upstream, this is done using a linker feature not present in GNU ld. Differential Revision: https://reviews.freebsd.org/D1757 Reviewed by: rpaulo MFC after: 1 month Relnotes: yes
* Tweak the fds test program so that it actually compiles. Also use 0 insteadmarkj2015-02-142-7/+8
| | | | | | | of -1 for the bogus ioctl command so that dmesg doesn't get spammed with sign extension warnings when the test program runs. MFC after: 1 week
* Initial version of DTrace on ARM32.gnn2015-02-102-2/+192
| | | | | Submitted by: Howard Su based on work by Oleksandr Tymoshenko Reviewed by: ian, andrew, rpaulo, markj
* Avoid hard-coding a path to ksh in scripts that are executed directly bymarkj2015-02-0311-11/+11
| | | | | | | | the test harness. This is a problem in many of the *.ksh test scripts as well, but those scripts are executed using a shell whose path is specified in dtest.pl, so there's no need to modify them. MFC after: 1 week
* Let the standard deviation of the empty set be 0. This is consistent withmarkj2015-02-021-0/+3
| | | | | | | | | | the behaviour for averages, and fixes a crash that can occur when attempting to print a stddev aggregation containing no elements: dtrace:::BEGIN { @ = stddev(0); clear(@); printa("%@d", @); } PR: 197260 MFC after: 2 week
* Fix mktemp(1) usage.markj2015-01-311-1/+1
| | | | MFC after: 1 week
* Use syscall::exit instead of the nonexistent syscall::rexit.markj2015-01-311-1/+1
| | | | MFC after: 1 week
* Remove hard-coded invocations of gcc; use cc(1) instead.markj2015-01-314-13/+7
| | | | MFC after: 1 week
* Remove a makefile that isn't present upstream.markj2015-01-311-13/+0
| | | | MFC after: 1 week
* Fix a number of DTrace scripting tests:markj2015-01-3111-27/+27
| | | | | | | | * Avoid hard-coding program paths. * Use -x when searching for oneself in ps(1) output. * Use the correct keyword (egid instead of pgid) in tst.egid.ksh. MFC after: 1 week
* Fix some proc provider tests:markj2015-01-313-12/+14
| | | | | | | | | | * Avoid hard-coding program paths, except when it's necessary in order to override the use of a shell builtin. * Translate struct proc through psinfo_t so that we can access process arguments via the pr_psargs field of psinfo_t. * Replace uses of pstop and prun with kill(1). MFC after: 1 week
* pause() isn't a system call on FreeBSD; use sigsuspend(2) instead.markj2015-01-301-2/+5
| | | | MFC after: 1 week
* The DTrace harness (dtest.pl) executes DTrace scripts with the -C flag,markj2015-01-303-3/+9
| | | | | | | | which causes dtrace(1) to run the C preprocessor on input scripts before executing them. Suppress some warnings emitted by the preprocessor which are confusing the DTrace lexer tests. MFC after: 1 week
* Include required headers in DTrace test programs.markj2015-01-3010-0/+15
| | | | MFC after: 1 week
OpenPOWER on IntegriCloud