summaryrefslogtreecommitdiffstats
path: root/cddl
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Remove stray DEBUG_FLAGS=-g that's been here since the initial import.imp2015-05-211-2/+0
|
* Build cddl/{sbin,usr.bin,usr.sbin} in parallel as all of the applications arengie2015-05-203-0/+6
| | | | | | | freestanding (they require libraries build via make libraries in buildworld) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Add dependencies for libzfs_core and libzpool I missed on my first pass on thisngie2015-05-201-0/+2
| | | | | | | Makefile MFC with: r283144 Sponsored by: EMC / Isilon Storage Division
* Articulate dependencies for cddl/lib/libdtrace and cddl/lib/libzfsngie2015-05-201-0/+5
| | | | | | | Parallelize the build in this subdirectory MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Reduce overlinking.bapt2015-05-192-9/+2
| | | | | Because of libdtrace there is still a bit a overlinking but nothing we can deal with easily
* Correctly link libdtrace and convert to LIBADDbapt2015-05-192-4/+3
| | | | Make dtrace only link to libdtrace
* Convert to LIBADDbapt2015-05-191-2/+1
|
* Convert to LIBADDbapt2015-05-191-2/+1
| | | | Remove dependency on pthread, it is not needed
* Fix a typo that snuck in with r283024, and remove the EXFAIL annotation frommarkj2015-05-172-2/+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
* Actually remove siftr-related definitions from tcp.d, missed in r283026.markj2015-05-171-75/+0
|
* Move siftr-related definitions out of tcp.d and into a separate librarymarkj2015-05-172-0/+101
| | | | | | which declares a dependency on siftr(4). This is necessitated by a reference to struct pkt_node, which is defined in siftr(4): otherwise, dtrace(1) will return an error during startup if siftr.ko is not loaded.
* 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
* Brief demo script showing the various values that can be read viagnn2015-04-291-0/+75
| | | | | | | the new SIFTR statically defined tracepoint (SDT). Differential Revision: https://reviews.freebsd.org/D2387 Reviewed by: bz, markj
* 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
* Convert cftmerge to LIBADD and remove link on libdwarf which is not neededbapt2015-04-091-2/+1
|
* libdtrace: add support for lazyload mode.markj2015-04-084-18/+80
| | | | | | | | | | | 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
* Replace dtest.pl, the upstream DTrace test suite harness, with a shellmarkj2015-03-304-7/+133
| | | | | | | | script. This reimplementation is much simpler than dtest.pl and is more amenable to being run under Kyua - dtest.pl writes error output to a temporary directory that is deleted when the run finishes, making it hard to debug test failures. This change also removes the test suite's dependency on perl.
* 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
* Summary: Remove the need for `mpid which is Illumos/Solaris specific.gnn2015-03-081-2/+2
|
* Add infrastructure to integrate the DTrace test suite with Kyua.markj2015-02-2887-0/+3386
| | | | | | | | | | | | | | | | | | For each test category, we generate a script containing ATF test cases for the tests under that category. Each test case simply runs dtest.pl (the upstream test harness) with the corresponding test files. The exclude.sh script is used to record info about tests which should be skipped or are expected to fail; it is used to generate atf_skip and atf_expect_fail calls. The genmakefiles.sh script can be used to regenerate the test makefiles when new tests are brought it from upstream. The test suite is currently not connected to the build as there is a small number of lingering test issues which still need to be worked out. In the meantime however, the test suite can be easily built and installed manually from cddl/usr.sbin/dtrace/tests. Reviewed by: ngie Sponsored by: EMC / Isilon Storage Division
* 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
* These CTF tools do not use anything from libctf, so no need to link with it.obrien2015-02-272-4/+4
|
* 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-105-3/+204
| | | | | 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
OpenPOWER on IntegriCloud