diff --git a/.github/scripts/clear-dump.sh b/.github/scripts/clear-dump.sh index fab82fc8..b4498ca1 100755 --- a/.github/scripts/clear-dump.sh +++ b/.github/scripts/clear-dump.sh @@ -7,17 +7,7 @@ if [ ! -d $DATA_DIR ]; then exit 1 fi -echo "removing current crash dump if any ..." -rm -f $DATA_DIR/dump.* - -echo "removing any extracted vmlinux ..." -rm -f $DATA_DIR/vmlinux* - -echo "removing any extracted modules ..." -rm -rf $DATA_DIR/mods -rm -rf $DATA_DIR/usr - -echo "removing any savedump scripts ..." -rm -rf $DATA_DIR/run-*.sh +echo "removing all crash/core dumps ..." +rm -rf $DATA_DIR/dumps echo "Done" diff --git a/.github/scripts/download-dump-from-s3.sh b/.github/scripts/download-dump-from-s3.sh index d9a6267e..8c7754f5 100755 --- a/.github/scripts/download-dump-from-s3.sh +++ b/.github/scripts/download-dump-from-s3.sh @@ -41,31 +41,33 @@ else [ $? -eq 0 ] || exit 1 fi -if [[ $1 == *.lzma ]]; then +if [[ $1 == *.tar.lzma ]]; then # Profile A + dump_name=${1%.tar.lzma} echo "decompressing dump ..." tar -x --lzma -f $1 - echo "moving contents to tests/integration/data ..." - mv dump-data/* $DATA_DIR + echo "moving contents to tests/integration/data/dumps/${dump_name} ..." + mkdir -p $DATA_DIR/dumps/${dump_name} + mv dump-data/* $DATA_DIR/dumps/${dump_name} [ $? -eq 0 ] || exit 1 rmdir dump-data [ $? -eq 0 ] || exit 1 elif [[ $1 == *.tar.gz ]]; then # Profile B + dump_name=${1%.tar.gz} echo "decompressing dump ..." tar xzf $1 - decompressed_dir=${1%.tar.gz} - - echo "moving contents to tests/integration/data ..." - mv *$decompressed_dir/* $DATA_DIR + echo "moving contents to tests/integration/data/dumps/${dump_name} ..." + mkdir -p $DATA_DIR/dumps/${dump_name} + mv *${dump_name}/* $DATA_DIR/dumps/${dump_name} [ $? -eq 0 ] || exit 1 - rmdir *$decompressed_dir + rmdir *${dump_name} [ $? -eq 0 ] || exit 1 else echo "unknown dump profile" diff --git a/.gitignore b/.gitignore index e7a79341..08afaa80 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,6 @@ tests/integration/data/mods/ # zipped folders - usually crash dumps *.lzma *.tar.gz + +# crash dump directory +tests/integration/data/dumps/ diff --git a/README.md b/README.md index 545d21bc..6e3eea6e 100644 --- a/README.md +++ b/README.md @@ -103,26 +103,8 @@ If you want `pytest` to stop on the first failure it encounters add `-x/--exitfirst` in the command above. If you've added new test commands or found mistakes in the current reference -output and you want (re)generate reference output for a crash dump - let's say -`dump.201912060006` from above: +output and you want (re)generate some reference output download all crash/core +dumps (or the specific one you want to correct) and run the following: ``` -$ PYTHONPATH=$(pwd) python3 tests/integration/gen_regression_output.py dump.201912060006 -``` - -or more generically: -``` -$ PYTHONPATH=$(pwd) python3 tests/integration/gen_regression_output.py -``` - -For the time being, the test suite is not smart enought to handle the testing -of multiple crash dumps at the same time. Until that happens, developers that -want to test multiple crash dumps need to delete their current crash dump -before downloading the next to run `pytest`. Here is a sequence of commands to -run `pytest` against two crash dumps: -``` -$ .github/scripts/download-dump-from-s3.sh dump.201912060006.tar.lzma -$ python3 -m pytest -v --cov sdb --cov-report xml tests -$ .github/scripts/clear-dump.sh -$ .github/scripts/download-dump-from-s3.sh dump.202303131823.tar.gz -$ python3 -m pytest -v --cov sdb --cov-report xml tests +$ PYTHONPATH=$(pwd) python3 tests/integration/gen_regression_output.py ``` diff --git a/sdb/internal/cli.py b/sdb/internal/cli.py index 637535fc..b72409fd 100644 --- a/sdb/internal/cli.py +++ b/sdb/internal/cli.py @@ -20,6 +20,7 @@ import argparse import os +import re import sys from typing import List @@ -126,7 +127,8 @@ def parse_arguments() -> argparse.Namespace: return args -def load_debug_info(prog: drgn.Program, dpaths: List[str]) -> None: +def load_debug_info(prog: drgn.Program, dpaths: List[str], quiet: bool, + no_filter: bool) -> None: """ Iterates over all the paths provided (`dpaths`) and attempts to load any debug information it finds. If the path provided @@ -140,9 +142,28 @@ def load_debug_info(prog: drgn.Program, dpaths: List[str]) -> None: kos = [] for (ppath, __, files) in os.walk(path): for i in files: - if i.endswith(".ko"): + if i.endswith(".ko") or i.endswith(".debug") or re.match( + r".+\.so(\.\d)?", i) or no_filter: + # matches: + # kernel modules - .ko suffix + # userland debug files - .debug suffix + # userland shared objects - .so suffix kos.append(os.sep.join([ppath, i])) - prog.load_debug_info(kos) + try: + prog.load_debug_info(kos) + except drgn.MissingDebugInfoError as debug_info_err: + # + # If we encounter such an error it means that we can't + # find the debug info for one or more kernel modules. + # That's fine because the user may not need those, so + # print a warning and proceed. + # + # Again because of the aforementioned short-coming of drgn + # we quiet any errors when loading the *default debug info* + # if we are looking at a crash/core dump. + # + if not quiet: + print("sdb: " + str(debug_info_err), file=sys.stderr) else: print("sdb: " + path + " is not a regular file or directory") @@ -191,7 +212,7 @@ def setup_target(args: argparse.Namespace) -> drgn.Program: if args.symbol_search: try: - load_debug_info(prog, args.symbol_search) + load_debug_info(prog, args.symbol_search, args.quiet, False) except ( drgn.MissingDebugInfoError, OSError, diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr bogus b/tests/integration/data/regression_output/dump.201912060006/core/addr bogus index a86e3e53..0149a607 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr bogus +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr bogus @@ -1 +1,3 @@ sdb: addr: symbol not found: bogus +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr fget | deref b/tests/integration/data/regression_output/dump.201912060006/core/addr fget | deref index e3d40941..baab73c1 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr fget | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr fget | deref @@ -1 +1,3 @@ sdb: deref: cannot dereference function pointer +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref b/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref index 7bfdfc99..6c64b277 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref @@ -1 +1,3 @@ (volatile unsigned long)4294968498 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref | deref b/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref | deref index a7f18f22..e12a1cd4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr jiffies | deref | deref @@ -1 +1,3 @@ sdb: deref: 'volatile unsigned long' is not a valid pointer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl index ca9b3927..0c0495fc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl zfs_dbgmsgs | print -d b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl zfs_dbgmsgs | print -d index 04a770e3..854763c4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl zfs_dbgmsgs | print -d +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl zfs_dbgmsgs | print -d @@ -74,3 +74,5 @@ .kpe_proc = (struct proc_dir_entry *)0xffffa089659cbf00, }, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref index 605534f4..c03aa87b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref @@ -5,3 +5,5 @@ .avl_numnodes = (ulong_t)3, .avl_size = (size_t)9176, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | addr b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | addr index ca9b3927..0c0495fc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | addr +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | addr @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | print b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | print index 605534f4..c03aa87b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | print +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | deref | print @@ -5,3 +5,5 @@ .avl_numnodes = (ulong_t)3, .avl_size = (size_t)9176, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child index cfe8f9e5..98d8f13f 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child @@ -1 +1,3 @@ (struct avl_node *[2]){} +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[1 b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[1 index c07687ab..bd2b941c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[1 +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[1 @@ -1 +1,3 @@ sdb: member: incomplete array expression: please use something of the format 'array_name[index]' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[3] b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[3] index c489ddb3..c3730455 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[3] +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[3] @@ -1,2 +1,4 @@ warning: member: index out of bounds for array of type 'struct avl_node *[2]' (requested index: 3) (struct avl_node *)0xffffa08892703f60 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[a] b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[a] index a50a79b9..77d13c6e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[a] +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root->avl_child[a] @@ -1 +1,3 @@ sdb: member: incorrect index: 'a' is not a number +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child index cfe8f9e5..98d8f13f 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child @@ -1 +1,3 @@ (struct avl_node *[2]){} +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size index 5d91477d..dc9de245 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size @@ -1,2 +1,4 @@ (uintptr_t)1 (size_t)9176 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print index ca9b3927..0c0495fc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print --RAW b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print --RAW index da550e97..0e8e437d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print --RAW +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print --RAW @@ -1 +1,3 @@ 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -d b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -d index aa48e6ad..e857654d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -d +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -d @@ -5,3 +5,5 @@ .avl_numnodes = (ulong_t)3, .avl_size = (size_t)9176, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -n b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -n index 2d290d45..a9be5fcd 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -n +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -n @@ -1 +1,3 @@ (avl_tree_t *)0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -nr b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -nr index da550e97..0e8e437d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -nr +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -nr @@ -1 +1,3 @@ 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -r b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -r index e19bf471..0b0231dd 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -r +++ b/tests/integration/data/regression_output/dump.201912060006/core/addr spa_namespace_avl | print -r @@ -1 +1,3 @@ spa_namespace_avl+0x0 = 0xffffffffc07d0fe0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj < 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj < 1' index 1195f3e5..aa4eaeb7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj < 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj < 1' @@ -1 +1,3 @@ (void *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' index 6218040a..cf87594e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' @@ -1,2 +1,4 @@ (void *)0x0 (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj == 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj == 1' index 0ada95c0..12e6e69c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj == 1' @@ -1 +1,3 @@ (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj > 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj > 1' index 13ff7600..4e8a4e6b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj > 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj > 1' @@ -1 +1,3 @@ (void *)0x2 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' index a7451662..d14331bf 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' @@ -1,2 +1,4 @@ (void *)0x1 (void *)0x2 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root index ce2d6642..acfa1509 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root @@ -1,3 +1,5 @@ sdb: member: invalid memory access: addresss 0x0 (struct avl_node *)0xffffa089413b8108 sdb: member: invalid memory access: addresss 0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | array 1 b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | array 1 index f46b2bb5..e6c7c273 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | array 1 +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | array 1 @@ -1 +1,3 @@ sdb: array: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | deref b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | deref index e711ef02..23afc1e4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast int * | deref @@ -1 +1,3 @@ sdb: deref: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast spa_t * | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast spa_t * | member spa_name index f79c5036..afc31aa8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast spa_t * | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast spa_t * | member spa_name @@ -1 +1,3 @@ sdb: member: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast void * | array 1 b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast void * | array 1 index 51295f92..76136e78 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast void * | array 1 +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | cast void * | array 1 @@ -1 +1,3 @@ sdb: array: can't walk pointer array of incomplete type 'void' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 0' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 0' index 1195f3e5..aa4eaeb7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 0' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 0' @@ -1 +1,3 @@ (void *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 1' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 1' index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x0 | filter 'obj == 1' @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1 | filter 'obj == obj' b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1 | filter 'obj == obj' index 0ada95c0..12e6e69c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1 | filter 'obj == obj' +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1 | filter 'obj == obj' @@ -1 +1,3 @@ (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x10 | cast int * | deref b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x10 | cast int * | deref index d2f90a83..9ea037ed 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x10 | cast int * | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x10 | cast int * | deref @@ -1 +1,3 @@ sdb: deref: invalid memory access: addresss 0x10 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os index 2c067a56..bcedfee7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os @@ -1 +1,3 @@ sdb: member: invalid memory access: addresss 0x12c4 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 0xffff90cc11b28000 | deref b/tests/integration/data/regression_output/dump.201912060006/core/echo 0xffff90cc11b28000 | deref index b517f0ba..ea1cf80b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 0xffff90cc11b28000 | deref +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 0xffff90cc11b28000 | deref @@ -1 +1,3 @@ sdb: deref: cannot dereference a void pointer +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 1 | echo 2 | sum b/tests/integration/data/regression_output/dump.201912060006/core/echo 1 | echo 2 | sum index 5b9bbfda..ecc2d55d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 1 | echo 2 | sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 1 | echo 2 | sum @@ -1 +1,3 @@ (uint64_t)3 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/echo 1234 | cast int | array b/tests/integration/data/regression_output/dump.201912060006/core/echo 1234 | cast int | array index 7c2439b7..27f23e44 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/echo 1234 | cast int | array +++ b/tests/integration/data/regression_output/dump.201912060006/core/echo 1234 | cast int | array @@ -1 +1,3 @@ sdb: array: 'int' is not an array nor a pointer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/filter 'obj == 1' b/tests/integration/data/regression_output/dump.201912060006/core/filter 'obj == 1' index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.201912060006/core/filter 'obj == 1' @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/member no_object b/tests/integration/data/regression_output/dump.201912060006/core/member no_object index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/member no_object +++ b/tests/integration/data/regression_output/dump.201912060006/core/member no_object @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype $abc b/tests/integration/data/regression_output/dump.201912060006/core/ptype $abc index 778d3f1f..f0ecd377 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype $abc +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype $abc @@ -1 +1,3 @@ sdb: ptype: input '$abc' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'a b c' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'a b c' index a01fdde4..0bc31243 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'a b c' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'a b c' @@ -1 +1,3 @@ sdb: ptype: input 'a b c' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'bogus union' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'bogus union' index cc1731b6..19da9489 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'bogus union' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'bogus union' @@ -1 +1,3 @@ sdb: ptype: input 'bogus union' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct bogus' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct bogus' index 70772673..a9b599d9 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct bogus' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct bogus' @@ -1 +1,3 @@ sdb: ptype: couldn't find type 'struct bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct spa' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct spa' index 4a4a06ee..b456895a 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct spa' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct spa' @@ -193,3 +193,5 @@ struct spa { zfs_refcount_t spa_refcount; taskq_t *spa_upgrade_taskq; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct union' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct union' index 5cf94487..47418b5f 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct union' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct union' @@ -1 +1,3 @@ sdb: ptype: input 'struct union' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct' index 3a998af7..3ad89ef4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'struct' @@ -1 +1,3 @@ sdb: ptype: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'union struct struct' b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'union struct struct' index dd412f24..980d0532 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 'union struct struct' +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 'union struct struct' @@ -1 +1,3 @@ sdb: ptype: input 'union struct struct' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype 2abc b/tests/integration/data/regression_output/dump.201912060006/core/ptype 2abc index 39f91fb4..ea544776 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype 2abc +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype 2abc @@ -1 +1,3 @@ sdb: ptype: input '2abc' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype @ b/tests/integration/data/regression_output/dump.201912060006/core/ptype @ index ac8e79dd..0a28c42d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype @ +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype @ @@ -1 +1,3 @@ sdb: ptype: input '@' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype bogus_t b/tests/integration/data/regression_output/dump.201912060006/core/ptype bogus_t index 846cd783..ac038abd 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype bogus_t +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype bogus_t @@ -1 +1,3 @@ sdb: ptype: couldn't find typedef, struct, enum, nor union named 'bogus_t' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype spa vdev b/tests/integration/data/regression_output/dump.201912060006/core/ptype spa vdev index d72a990d..7f1e5499 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype spa vdev +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype spa vdev @@ -335,3 +335,5 @@ struct vdev { zfs_ratelimit_t vdev_delay_rl; zfs_ratelimit_t vdev_checksum_rl; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype spa_t b/tests/integration/data/regression_output/dump.201912060006/core/ptype spa_t index 7dbfe554..926d961d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype spa_t +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype spa_t @@ -1 +1,3 @@ typedef struct spa spa_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype struct spa b/tests/integration/data/regression_output/dump.201912060006/core/ptype struct spa index 3a998af7..3ad89ef4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype struct spa +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype struct spa @@ -1 +1,3 @@ sdb: ptype: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/ptype zfs_case 'struct v' thread_union b/tests/integration/data/regression_output/dump.201912060006/core/ptype zfs_case 'struct v' thread_union index 10ab01f0..d9d5efeb 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/ptype zfs_case 'struct v' thread_union +++ b/tests/integration/data/regression_output/dump.201912060006/core/ptype zfs_case 'struct v' thread_union @@ -10,3 +10,5 @@ union thread_union { struct task_struct task; unsigned long stack[2048]; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sizeof bogus b/tests/integration/data/regression_output/dump.201912060006/core/sizeof bogus index c8133ac4..a4eafdcc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sizeof bogus +++ b/tests/integration/data/regression_output/dump.201912060006/core/sizeof bogus @@ -1 +1,3 @@ sdb: sizeof: couldn't find typedef, struct, enum, nor union named 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sizeof size_t b/tests/integration/data/regression_output/dump.201912060006/core/sizeof size_t index a6375e71..8acd38f6 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sizeof size_t +++ b/tests/integration/data/regression_output/dump.201912060006/core/sizeof size_t @@ -1 +1,3 @@ (size_t)8 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sizeof spa vdev b/tests/integration/data/regression_output/dump.201912060006/core/sizeof spa vdev index 0ef9fa6a..34c31799 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sizeof spa vdev +++ b/tests/integration/data/regression_output/dump.201912060006/core/sizeof spa vdev @@ -1,2 +1,4 @@ (size_t)9176 (size_t)14440 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sizeof struct spa b/tests/integration/data/regression_output/dump.201912060006/core/sizeof struct spa index 096a29d3..66a6bbdc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sizeof struct spa +++ b/tests/integration/data/regression_output/dump.201912060006/core/sizeof struct spa @@ -1 +1,3 @@ sdb: sizeof: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sizeof task_struct b/tests/integration/data/regression_output/dump.201912060006/core/sizeof task_struct index 8ff6bdc9..5a0e42aa 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sizeof task_struct +++ b/tests/integration/data/regression_output/dump.201912060006/core/sizeof task_struct @@ -1 +1,3 @@ (size_t)9152 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.bogus == 1624' b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.bogus == 1624' index 53f844e8..245a8fc3 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.bogus == 1624' +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.bogus == 1624' @@ -1 +1,3 @@ sdb: filter: 'spa_t' has no member 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name index 1379983a..751ae4ce 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name @@ -1 +1,3 @@ (char [256])"rpool" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name index 1379983a..751ae4ce 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name @@ -1 +1,3 @@ (char [256])"rpool" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name index 1379983a..751ae4ce 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name @@ -1 +1,3 @@ (char [256])"rpool" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' index fc761b9b..aea4edcc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' @@ -1 +1,3 @@ sdb: filter: invalid input: comparison operator is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | deref | sum b/tests/integration/data/regression_output/dump.201912060006/core/spa | deref | sum index 908ade20..5242fae8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | deref | sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | deref | sum @@ -1 +1,3 @@ sdb: sum: 'struct spa' is not an integer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print --RAW -s b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print --RAW -s index 167d9ef0..9eac875b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print --RAW -s +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print --RAW -s @@ -1 +1,3 @@ { "data", 0x0, { {}, 18446639110098223369 }, 0xffffa0894b2ee120, 0x0, 0x0, 0xffffa08933526f80, 609, 0, POOL_STATE_ACTIVE, 0, 1, SPA_LOAD_NONE, B_TRUE, B_TRUE, SPA_CONFIG_SRC_MOS, 8, { { { 1, 0xffffa089369e8de0 }, { 0, 0x0 }, { 1, 0xffffa089369e8b08 } }, { { 1, 0xffffa089369e8a98 }, { 0, 0x0 }, { 8, 0xffffa0894b62a080 } }, { { 1, 0xffffa089369e87c8 }, { 1, 0xffffa089369e8e48 }, { 8, 0xffffa0894b62a1c0 }, { 1, 0xffffa089369e8c78 } }, { { 8, 0xffffa0894b62a3c0 }, { 0, 0x0 }, { 1, 0xffffa089369e8920 } }, { { 1, 0xffffa089369e8f08 }, { 0, 0x0 }, { 1, 0xffffa089369e8f40 } }, { { 1, 0xffffa089369e8eb8 }, { 0, 0x0 }, { 1, 0xffffa089369e8660 } }, { { 1, 0xffffa089369e8a28 }, { 0, 0x0 }, { 1, 0xffffa089369e8e88 } } }, 0xffffa0894e6e5000, B_FALSE, B_FALSE, 0xffffa089364ff000, 0xffffa089364ff400, 1, 0xffffa089364fe000, 0xffffa089364fc000, 606, 18446744073709551615, 18446744073709551615, 18446744073709551615, 606, { 1575590476, 696651663 }, 0xffffa0894e6e7000, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7203b8, 0xffffa0894e7203b8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 1392, 624, { 0xffffa0894e7203e8, 0xffffa0894e7203e8 } }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720408, 0xffffa0894e720408 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720420, 0xffffa0894e720420 } }, { 1 }, { 0 }, 0x0 }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720450, 0xffffa0894e720450 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 10584, 0xffffa0894e720000, {} }, 0xffffa089486fc000, 9, 9, 16281744902661189000, 14471461212339565814, 16281744902661189000, { 14440, 10632, { 0xffffa0894e7204d8, 0xffffa0894e7204d8 } }, { 14440, 10648, { 0xffffa0894e7204f8, 0xffffa0894e7204f8 } }, 0xffffa089351f8000, 0xffffa089351f8240, 4, { 0, 0x0, 0x0, 0, B_FALSE, 0x0, 0 }, { 0, 0x0, 0x0, 0, B_FALSE, 0x0, 0 }, 0xffffa0894ebafe20, 61, 0, 663, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7205b0, 0xffffa0894e7205b0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0xffffa0894e6e7000, 62, 128, 1, 1, 0, 0xffffa0894e7e2000, 0xffffa0894e729ab8, 0x0 }, { { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720610, 0xffffa0894e720610 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffffa0894e720640, 0xffffa0894e720640 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720660, 0xffffa0894e720660 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffffa0894e720690, 0xffffa0894e720690 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7206b0, 0xffffa0894e7206b0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffffa0894e7206e0, 0xffffa0894e7206e0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720700, 0xffffa0894e720700 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffffa0894e720730, 0xffffa0894e720730 } } } }, { { 29, 112, 247, 71, 99, 164, 207, 30, 255, 87, 208, 253, 109, 15, 114, 49, 67, 131, 175, 188, 191, 248, 108, 202, 190, 103, 0, 52, 8, 29, 38, 174 } }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720770, 0xffffa0894e720770 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, {}, { 12235020, 5000, 663, 3533450148585366880, 1575590748, { { { { 1, 4194319 } }, { { 1, 5242895 } }, { { 1, 8388717 } } }, 9226476022604496903, {}, 0, 609, 67, { { 40974415172, 4306566583308, 230231255450404, 8348538084823175 } } }, 5000, 2703026705, 0, 0, 0 }, { 12235020, 5000, 663, 3533450148585366880, 1575590748, { { { { 1, 4194319 } }, { { 1, 5242895 } }, { { 1, 8388717 } } }, 9226476022604496903, {}, 0, 609, 67, { { 40974415172, 4306566583308, 230231255450404, 8348538084823175 } } }, 5000, 2703026705, 0, 0, 0 }, B_FALSE, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7209b8, 0xffffa0894e7209b8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7209f8, 0xffffa0894e7209f8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720a10, 0xffffa0894e720a10 } }, { 1 }, { 0 }, 0x0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, B_FALSE, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720a78, 0xffffa0894e720a78 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720ab8, 0xffffa0894e720ab8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720ad0, 0xffffa0894e720ad0 } }, { 1 }, { 0 }, 0x0 }, 0, 0, 0, { 0, 18446744073709551615, 18446744073709551615, 0, 0, 0, 0 }, 0x0, { 0, 0, 0 }, 0x0, 0xffffa0894e7ee600, 0, { 0, 0 }, 0xffffa0894e7ef800, 0x0, { 0xffffa0894b3e32e0, 0xffffffffc0591f90, 32, 9, 56 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720bd0, 0xffffa0894e720bd0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 0xffffa0894e6e3fb0, 0xffffffffc0569820, 1968, 15, 2048 }, { 456, 1000, 9 }, { 40, 24, { 0xffffa08942af7c98, 0xffffa08942af7c98 } }, 0, 0xffffa0894e7ef000, 0xffffa0894e7ef400, 0, { 0x0, 0x0, 0x0, B_FALSE, B_FALSE }, 0x0, 0, 0, 0, 0, 0, 1575588901, 0, 0, 602, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720cf0, 0xffffa0894e720cf0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720d30, 0xffffa0894e720d30 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 0x0, 0xffffffffc057b9a0, 40, 0, 64 }, { 0x0, 0xffffffffc057b9a0, 40, 0, 64 }, 1, 60, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720dc0, 0xffffa0894e720dc0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720df8, 0xffffa0894e720df8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0, 0, 1, { 24, 0, { 0xffffa08954d6a480, 0xffffa08954d6a480 } }, 0xffffa08942a76700, 0x0, { 0xffffa0895f2ec9c0, 0xffffa089469184e0, 0xffffa0895f2e9860, 0xffffa0884093c9c0 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720ea0, 0xffffa0894e720ea0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720ed0, 0xffffa0894e720ed0 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e720ee8, 0xffffa0894e720ee8 } }, { 1 }, { 0 }, 0x0 }, ZIO_SUSPEND_NONE, 0, B_FALSE, 11, 3, SPA_LOG_GOOD, 0, { 0xffffa0895be8c2c0, 0xffffa0895be92400, 0xffffa0895be98540, 0xffffa0895be9e680, 0xffffa0895bea47c0, 0xffffa0895beaa900, 0xffffa08953680040, 0xffffa08953686180, 0xffffa0895368c2c0, 0xffffa08953692400, 0xffffa08953698540, 0xffffa0895369e680, 0xffffa089536a47c0, 0xffffa089536aa900 }, 0, 0, 8, 8053063680, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720fc8, 0xffffa0894e720fc8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e720ff8, 0xffffa0894e720ff8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721028, 0xffffa0894e721028 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721040, 0xffffa0894e721040 } }, { 1 }, { 0 }, 0x0 }, SPA_PROC_NONE, 0xffffffffc0403fc0, 0, B_FALSE, 0, 5000, 5000, 52, 51, 53, 63, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7210c0, 0xffffa0894e7210c0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0xffffa089537d3580, { 0, 0, 1, 0, 24, 26, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1 }, 0, 0, 300000723999, 600000000000, 300000000000, 64, AVZ_ACTION_NONE, 0, 0, { { 0, { 0xffffa0894e721228, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721248, 0xffffa0894e721248 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 112, 88, { 0xffffa0894e721278, 0xffffa0894e721278 } }, 1, 0xffffffffc05fa130, 0xffffffffc05fa0d0, 0xffffffffc05fa9b0, 88, { "reads", "zfs/data", 0xffffa0894c273c00, { 0xffffa0894e721760, 0xffffa0894c273d10 }, 0xffffa0893a4476c0 } } }, { 58, { 0xffffa0894e7214d0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7214f0, 0xffffa0894e7214f0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 120, 96, { 0xffffa0894b2786e0, 0xffffa0888d2848e0 } }, 59, 0xffffffffc05fa1d0, 0xffffffffc05fa170, 0xffffffffc05faa20, 96, { "txgs", "zfs/data", 0xffffa0894c273c00, { 0xffffa089364fdbb0, 0xffffa0894e7214b8 }, 0xffffa0893a447e40 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721788, 0xffffa0894e721788 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 42, 11424, 0xffffa089364fd800, 0xffffa0894e7b8000, { 0, 0, { 0x0, 0x0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7217f8, 0xffffa0894e7217f8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffffa089364ff800, 0x0, { 0, 0, { 0x0, 0x0 } } }, { 0, { 0xffffa0894e721858, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721878, 0xffffa0894e721878 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 96, 72, { 0xffffa0894e7218a8, 0xffffa0894e7218a8 } }, 1, 0xffffffffc05fa2d0, 0xffffffffc05fa280, 0xffffffffc05faa90, 72, { "multihost", "zfs/data", 0xffffa0894c273c00, { 0xffffa089364fd7b0, 0xffffa089364ffbb0 }, 0xffffa0893a4473c0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721b10, 0xffffa0894e721b10 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffffa089364fd400, 0x0, { 0, 0, { 0x0, 0x0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721b80, 0xffffa0894e721b80 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffffa089364fec00, 0x0, { 0, 0, { 0x0, 0x0 } } } }, { { { { 0 }, { 0xffffa0894e721be8, 0xffffa0894e721be8 }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { { 0 } }, 0x0 }, 0x0 }, { 0x0, 0xffffffffc0535e90, 0, 0, 328 }, { { { 0 }, { 0xffffa0894e721c40, 0xffffa0894e721c40 }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { { 0 } }, 0x0 }, 0x0 }, { 0x0, 0xffffffffc0535ec0, 0, 0, 48 }, { { { 0 }, { 0xffffa0894e721c98, 0xffffa0894e721c98 }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { { 0 } }, 0x0 }, 0x0 }, { 0x0, 0xffffffffc0535ef0, 0, 0, 88 } }, 0, 0, 0, 0xffffa08951c5b200, 0xffffa08951c5be00, 0, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721d28, 0xffffa0894e721d28 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffb38f02c53db8, 0xffffb38f02c53db8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721d70, 0xffffa0894e721d70 } }, { 2 }, { 1 }, 0xffffa0894e721d18 }, 0xffffa089553adc00, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721db0, 0xffffa0894e721db0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 28026656746, 1000000000, { 0, 0, 0, 0, 0, { {}, 0, {}, 0, 0, 0, { {} } }, 0, 0, 0, 0, 0 }, 0x0, 1, 0, 0x0, 0, 0 }, { 14440, 14120, { 0xffffa08949e5b728, 0xffffa08948afb728 } }, 9, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721f20, 0xffffa0894e721f20 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721f50, 0xffffa0894e721f50 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721f68, 0xffffa0894e721f68 } }, { 1 }, { 0 }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721f98, 0xffffa0894e721f98 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e721fb0, 0xffffa0894e721fb0 } }, { 1 }, { 0 }, 0x0 }, 0, B_FALSE, { { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e721fe8, 0xffffa0894e721fe8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722028, 0xffffa0894e722028 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722040, 0xffffa0894e722040 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e722078, 0xffffa0894e722078 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7220b8, 0xffffa0894e7220b8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7220d0, 0xffffa0894e7220d0 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e722108, 0xffffa0894e722108 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722148, 0xffffa0894e722148 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722160, 0xffffa0894e722160 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e722198, 0xffffa0894e722198 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7221d8, 0xffffa0894e7221d8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7221f0, 0xffffa0894e7221f0 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e722228, 0xffffa0894e722228 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722268, 0xffffa0894e722268 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722280, 0xffffa0894e722280 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e7222b8, 0xffffa0894e7222b8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7222f8, 0xffffa0894e7222f8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722310, 0xffffa0894e722310 } }, { 1 }, { 0 }, 0x0 }, { 0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffffa0894e722348, 0xffffa0894e722348 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e722388, 0xffffa0894e722388 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffa0894e7223a0, 0xffffa0894e7223a0 } }, { 1 }, { 0 }, 0x0 }, { 0 } } }, { 12 }, 0xffffa08951c5b500 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print -rs b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print -rs index a24b7615..4305d41b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print -rs +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | deref | print -rs @@ -1 +1,3 @@ { .spa_name = "data", .spa_comment = 0x0, .spa_avl = { .avl_child = {}, .avl_pcb = 18446639110098223369 }, .spa_config = 0xffffa0894b2ee120, .spa_config_syncing = 0x0, .spa_config_splitting = 0x0, .spa_load_info = 0xffffa08933526f80, .spa_config_txg = 609, .spa_sync_pass = 0, .spa_state = POOL_STATE_ACTIVE, .spa_inject_ref = 0, .spa_sync_on = 1, .spa_load_state = SPA_LOAD_NONE, .spa_indirect_vdevs_loaded = B_TRUE, .spa_trust_config = B_TRUE, .spa_config_source = SPA_CONFIG_SRC_MOS, .spa_import_flags = 8, .spa_zio_taskq = { [0] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8de0 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8b08 } }, [1] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8a98 }, [2] = { .stqs_count = 8, .stqs_taskq = 0xffffa0894b62a080 } }, [2] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e87c8 }, [1] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8e48 }, [2] = { .stqs_count = 8, .stqs_taskq = 0xffffa0894b62a1c0 }, [3] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8c78 } }, [3] = { [0] = { .stqs_count = 8, .stqs_taskq = 0xffffa0894b62a3c0 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8920 } }, [4] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8f08 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8f40 } }, [5] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8eb8 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8660 } }, [6] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8a28 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffffa089369e8e88 } } }, .spa_dsl_pool = 0xffffa0894e6e5000, .spa_is_initializing = B_FALSE, .spa_is_exporting = B_FALSE, .spa_normal_class = 0xffffa089364ff000, .spa_log_class = 0xffffa089364ff400, .spa_log_devices = 1, .spa_special_class = 0xffffa089364fe000, .spa_dedup_class = 0xffffa089364fc000, .spa_first_txg = 606, .spa_final_txg = 18446744073709551615, .spa_freeze_txg = 18446744073709551615, .spa_load_max_txg = 18446744073709551615, .spa_claim_max_txg = 606, .spa_loaded_ts = { .tv_sec = 1575590476, .tv_nsec = 696651663 }, .spa_meta_objset = 0xffffa0894e6e7000, .spa_evicting_os_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7203b8, .prev = 0xffffa0894e7203b8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_evicting_os_list = { .list_size = 1392, .list_offset = 624, .list_head = { .next = 0xffffa0894e7203e8, .prev = 0xffffa0894e7203e8 } }, .spa_evicting_os_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720408, .prev = 0xffffa0894e720408 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720420, .prev = 0xffffa0894e720420 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_vdev_txg_list = { .tl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720450, .prev = 0xffffa0894e720450 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .tl_offset = 10584, .tl_spa = 0xffffa0894e720000, .tl_head = {} }, .spa_root_vdev = 0xffffa089486fc000, .spa_min_ashift = 9, .spa_max_ashift = 9, .spa_config_guid = 16281744902661189000, .spa_load_guid = 14471461212339565814, .spa_last_synced_guid = 16281744902661189000, .spa_config_dirty_list = { .list_size = 14440, .list_offset = 10632, .list_head = { .next = 0xffffa0894e7204d8, .prev = 0xffffa0894e7204d8 } }, .spa_state_dirty_list = { .list_size = 14440, .list_offset = 10648, .list_head = { .next = 0xffffa0894e7204f8, .prev = 0xffffa0894e7204f8 } }, .spa_alloc_locks = 0xffffa089351f8000, .spa_alloc_trees = 0xffffa089351f8240, .spa_alloc_count = 4, .spa_spares = { .sav_object = 0, .sav_config = 0x0, .sav_vdevs = 0x0, .sav_count = 0, .sav_sync = B_FALSE, .sav_pending = 0x0, .sav_npending = 0 }, .spa_l2cache = { .sav_object = 0, .sav_config = 0x0, .sav_vdevs = 0x0, .sav_count = 0, .sav_sync = B_FALSE, .sav_pending = 0x0, .sav_npending = 0 }, .spa_label_features = 0xffffa0894ebafe20, .spa_config_object = 61, .spa_config_generation = 0, .spa_syncing_txg = 663, .spa_deferred_bpobj = { .bpo_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7205b0, .prev = 0xffffa0894e7205b0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpo_os = 0xffffa0894e6e7000, .bpo_object = 62, .bpo_epb = 128, .bpo_havecomp = 1, .bpo_havesubobj = 1, .bpo_havefreed = 0, .bpo_phys = 0xffffa0894e7e2000, .bpo_dbuf = 0xffffa0894e729ab8, .bpo_cached_dbuf = 0x0 }, .spa_free_bplist = { [0] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720610, .prev = 0xffffa0894e720610 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffffa0894e720640, .prev = 0xffffa0894e720640 } } }, [1] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720660, .prev = 0xffffa0894e720660 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffffa0894e720690, .prev = 0xffffa0894e720690 } } }, [2] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7206b0, .prev = 0xffffa0894e7206b0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffffa0894e7206e0, .prev = 0xffffa0894e7206e0 } } }, [3] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720700, .prev = 0xffffa0894e720700 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffffa0894e720730, .prev = 0xffffa0894e720730 } } } }, .spa_cksum_salt = { .zcs_bytes = { [0] = 29, [1] = 112, [2] = 247, [3] = 71, [4] = 99, [5] = 164, [6] = 207, [7] = 30, [8] = 255, [9] = 87, [10] = 208, [11] = 253, [12] = 109, [13] = 15, [14] = 114, [15] = 49, [16] = 67, [17] = 131, [18] = 175, [19] = 188, [20] = 191, [21] = 248, [22] = 108, [23] = 202, [24] = 190, [25] = 103, [27] = 52, [28] = 8, [29] = 29, [30] = 38, [31] = 174 } }, .spa_cksum_tmpls_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720770, .prev = 0xffffa0894e720770 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_cksum_tmpls = {}, .spa_ubsync = { .ub_magic = 12235020, .ub_version = 5000, .ub_txg = 663, .ub_guid_sum = 3533450148585366880, .ub_timestamp = 1575590748, .ub_rootbp = { .blk_dva = { [0] = { .dva_word = { [0] = 1, [1] = 4194319 } }, [1] = { .dva_word = { [0] = 1, [1] = 5242895 } }, [2] = { .dva_word = { [0] = 1, [1] = 8388717 } } }, .blk_prop = 9226476022604496903, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 609, .blk_fill = 67, .blk_cksum = { .zc_word = { [0] = 40974415172, [1] = 4306566583308, [2] = 230231255450404, [3] = 8348538084823175 } } }, .ub_software_version = 5000, .ub_mmp_magic = 2703026705, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0 }, .spa_uberblock = { .ub_magic = 12235020, .ub_version = 5000, .ub_txg = 663, .ub_guid_sum = 3533450148585366880, .ub_timestamp = 1575590748, .ub_rootbp = { .blk_dva = { [0] = { .dva_word = { [0] = 1, [1] = 4194319 } }, [1] = { .dva_word = { [0] = 1, [1] = 5242895 } }, [2] = { .dva_word = { [0] = 1, [1] = 8388717 } } }, .blk_prop = 9226476022604496903, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 609, .blk_fill = 67, .blk_cksum = { .zc_word = { [0] = 40974415172, [1] = 4306566583308, [2] = 230231255450404, [3] = 8348538084823175 } } }, .ub_software_version = 5000, .ub_mmp_magic = 2703026705, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0 }, .spa_extreme_rewind = B_FALSE, .spa_scrub_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7209b8, .prev = 0xffffa0894e7209b8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_scrub_inflight = 0, .spa_load_verify_bytes = 0, .spa_scrub_io_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7209f8, .prev = 0xffffa0894e7209f8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720a10, .prev = 0xffffa0894e720a10 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_scrub_active = 0, .spa_scrub_type = 0, .spa_scrub_finished = 0, .spa_scrub_started = 0, .spa_scrub_reopen = 0, .spa_scan_pass_start = 0, .spa_scan_pass_scrub_pause = 0, .spa_scan_pass_scrub_spent_paused = 0, .spa_scan_pass_exam = 0, .spa_scan_pass_issued = 0, .spa_resilver_deferred = B_FALSE, .spa_async_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720a78, .prev = 0xffffa0894e720a78 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_async_thread = 0x0, .spa_async_suspended = 0, .spa_async_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720ab8, .prev = 0xffffa0894e720ab8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720ad0, .prev = 0xffffa0894e720ad0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_async_tasks = 0, .spa_missing_tvds = 0, .spa_missing_tvds_allowed = 0, .spa_removing_phys = { .sr_state = 0, .sr_removing_vdev = 18446744073709551615, .sr_prev_indirect_vdev = 18446744073709551615, .sr_start_time = 0, .sr_end_time = 0, .sr_to_copy = 0, .sr_copied = 0 }, .spa_vdev_removal = 0x0, .spa_condensing_indirect_phys = { .scip_vdev = 0, .scip_prev_obsolete_sm_object = 0, .scip_next_mapping_object = 0 }, .spa_condensing_indirect = 0x0, .spa_condense_zthr = 0xffffa0894e7ee600, .spa_checkpoint_txg = 0, .spa_checkpoint_info = { .sci_timestamp = 0, .sci_dspace = 0 }, .spa_checkpoint_discard_zthr = 0xffffa0894e7ef800, .spa_syncing_log_sm = 0x0, .spa_sm_logs_by_txg = { .avl_root = 0xffffa0894b3e32e0, .avl_compar = spa_log_sm_sort_by_txg+0x0 = 0xffffffffc0591f90, .avl_offset = 32, .avl_numnodes = 9, .avl_size = 56 }, .spa_flushed_ms_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720bd0, .prev = 0xffffa0894e720bd0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_metaslabs_by_flushed = { .avl_root = 0xffffa0894e6e3fb0, .avl_compar = metaslab_sort_by_flushed+0x0 = 0xffffffffc0569820, .avl_offset = 1968, .avl_numnodes = 15, .avl_size = 2048 }, .spa_unflushed_stats = { .sus_memused = 456, .sus_blocklimit = 1000, .sus_nblocks = 9 }, .spa_log_summary = { .list_size = 40, .list_offset = 24, .list_head = { .next = 0xffffa08942af7c98, .prev = 0xffffa08942af7c98 } }, .spa_log_flushall_txg = 0, .spa_livelist_delete_zthr = 0xffffa0894e7ef000, .spa_livelist_condense_zthr = 0xffffa0894e7ef400, .spa_livelists_to_delete = 0, .spa_to_condense = { .ds = 0x0, .first = 0x0, .next = 0x0, .syncing = B_FALSE, .cancelled = B_FALSE }, .spa_root = 0x0, .spa_ena = 0, .spa_last_open_failed = 0, .spa_last_ubsync_txg = 0, .spa_last_ubsync_txg_ts = 0, .spa_load_txg = 0, .spa_load_txg_ts = 1575588901, .spa_load_meta_errors = 0, .spa_load_data_errors = 0, .spa_verify_min_txg = 602, .spa_errlog_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720cf0, .prev = 0xffffa0894e720cf0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_errlog_last = 0, .spa_errlog_scrub = 0, .spa_errlist_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720d30, .prev = 0xffffa0894e720d30 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_errlist_last = { .avl_root = 0x0, .avl_compar = spa_error_entry_compare+0x0 = 0xffffffffc057b9a0, .avl_offset = 40, .avl_numnodes = 0, .avl_size = 64 }, .spa_errlist_scrub = { .avl_root = 0x0, .avl_compar = spa_error_entry_compare+0x0 = 0xffffffffc057b9a0, .avl_offset = 40, .avl_numnodes = 0, .avl_size = 64 }, .spa_deflate = 1, .spa_history = 60, .spa_history_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720dc0, .prev = 0xffffa0894e720dc0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_pending_vdev = 0x0, .spa_props_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720df8, .prev = 0xffffa0894e720df8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_pool_props_object = 0, .spa_bootfs = 0, .spa_failmode = 0, .spa_deadman_failmode = 0, .spa_delegation = 1, .spa_config_list = { .list_size = 24, .list_offset = 0, .list_head = { .next = 0xffffa08954d6a480, .prev = 0xffffa08954d6a480 } }, .spa_async_zio_root = 0xffffa08942a76700, .spa_suspend_zio_root = 0x0, .spa_txg_zio = { [0] = 0xffffa0895f2ec9c0, [1] = 0xffffa089469184e0, [2] = 0xffffa0895f2e9860, [3] = 0xffffa0884093c9c0 }, .spa_suspend_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720ea0, .prev = 0xffffa0894e720ea0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_suspend_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720ed0, .prev = 0xffffa0894e720ed0 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e720ee8, .prev = 0xffffa0894e720ee8 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_suspended = ZIO_SUSPEND_NONE, .spa_claiming = 0, .spa_is_root = B_FALSE, .spa_minref = 11, .spa_mode = 3, .spa_log_state = SPA_LOG_GOOD, .spa_autoexpand = 0, .spa_ddt = { [0] = 0xffffa0895be8c2c0, [1] = 0xffffa0895be92400, [2] = 0xffffa0895be98540, [3] = 0xffffa0895be9e680, [4] = 0xffffa0895bea47c0, [5] = 0xffffa0895beaa900, [6] = 0xffffa08953680040, [7] = 0xffffa08953686180, [8] = 0xffffa0895368c2c0, [9] = 0xffffa08953692400, [10] = 0xffffa08953698540, [11] = 0xffffa0895369e680, [12] = 0xffffa089536a47c0, [13] = 0xffffa089536aa900 }, .spa_ddt_stat_object = 0, .spa_dedup_dspace = 0, .spa_dedup_checksum = 8, .spa_dspace = 8053063680, .spa_vdev_top_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720fc8, .prev = 0xffffa0894e720fc8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_proc_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e720ff8, .prev = 0xffffa0894e720ff8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_proc_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721028, .prev = 0xffffa0894e721028 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721040, .prev = 0xffffa0894e721040 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_proc_state = SPA_PROC_NONE, .spa_proc = p0+0x0 = 0xffffffffc0403fc0, .spa_did = 0, .spa_autoreplace = B_FALSE, .spa_vdev_locks = 0, .spa_creation_version = 5000, .spa_prev_software_version = 5000, .spa_feat_for_write_obj = 52, .spa_feat_for_read_obj = 51, .spa_feat_desc_obj = 53, .spa_feat_enabled_txg_obj = 63, .spa_feat_stats_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7210c0, .prev = 0xffffa0894e7210c0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_feat_stats = 0xffffa089537d3580, .spa_feat_refcount_cache = { [2] = 1, [4] = 24, [5] = 26, [6] = 1, [7] = 1, [8] = 1, [16] = 1, [18] = 1, [22] = 1, [29] = 1 }, .spa_deadman_tqid = 0, .spa_deadman_calls = 0, .spa_sync_starttime = 300000723999, .spa_deadman_synctime = 600000000000, .spa_deadman_ziotime = 300000000000, .spa_all_vdev_zaps = 64, .spa_avz_action = AVZ_ACTION_NONE, .spa_autotrim = 0, .spa_errata = 0, .spa_stats = { .read_history = { .size = 0, .procfs_list = { .pl_private = 0xffffa0894e721228, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721248, .prev = 0xffffa0894e721248 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 112, .list_offset = 88, .list_head = { .next = 0xffffa0894e721278, .prev = 0xffffa0894e721278 } }, .pl_next_id = 1, .pl_show = spa_read_history_show+0x0 = 0xffffffffc05fa130, .pl_show_header = spa_read_history_show_header+0x0 = 0xffffffffc05fa0d0, .pl_clear = spa_read_history_clear+0x0 = 0xffffffffc05fa9b0, .pl_node_offset = 88, .pl_kstat_entry = { .kpe_name = "reads", .kpe_module = "zfs/data", .kpe_owner = 0xffffa0894c273c00, .kpe_list = { .next = 0xffffa0894e721760, .prev = 0xffffa0894c273d10 }, .kpe_proc = 0xffffa0893a4476c0 } } }, .txg_history = { .size = 58, .procfs_list = { .pl_private = 0xffffa0894e7214d0, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7214f0, .prev = 0xffffa0894e7214f0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 120, .list_offset = 96, .list_head = { .next = 0xffffa0894b2786e0, .prev = 0xffffa0888d2848e0 } }, .pl_next_id = 59, .pl_show = spa_txg_history_show+0x0 = 0xffffffffc05fa1d0, .pl_show_header = spa_txg_history_show_header+0x0 = 0xffffffffc05fa170, .pl_clear = spa_txg_history_clear+0x0 = 0xffffffffc05faa20, .pl_node_offset = 96, .pl_kstat_entry = { .kpe_name = "txgs", .kpe_module = "zfs/data", .kpe_owner = 0xffffa0894c273c00, .kpe_list = { .next = 0xffffa089364fdbb0, .prev = 0xffffa0894e7214b8 }, .kpe_proc = 0xffffa0893a447e40 } } }, .tx_assign_histogram = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721788, .prev = 0xffffa0894e721788 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 42, .size = 11424, .kstat = 0xffffa089364fd800, .private = 0xffffa0894e7b8000, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .io_history = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7217f8, .prev = 0xffffa0894e7217f8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffffa089364ff800, .private = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .mmp_history = { .size = 0, .procfs_list = { .pl_private = 0xffffa0894e721858, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721878, .prev = 0xffffa0894e721878 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 96, .list_offset = 72, .list_head = { .next = 0xffffa0894e7218a8, .prev = 0xffffa0894e7218a8 } }, .pl_next_id = 1, .pl_show = spa_mmp_history_show+0x0 = 0xffffffffc05fa2d0, .pl_show_header = spa_mmp_history_show_header+0x0 = 0xffffffffc05fa280, .pl_clear = spa_mmp_history_clear+0x0 = 0xffffffffc05faa90, .pl_node_offset = 72, .pl_kstat_entry = { .kpe_name = "multihost", .kpe_module = "zfs/data", .kpe_owner = 0xffffa0894c273c00, .kpe_list = { .next = 0xffffa089364fd7b0, .prev = 0xffffa089364ffbb0 }, .kpe_proc = 0xffffa0893a4473c0 } } }, .state = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721b10, .prev = 0xffffa0894e721b10 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffffa089364fd400, .private = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .iostats = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721b80, .prev = 0xffffa0894e721b80 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffffa089364fec00, .private = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } } }, .spa_keystore = { .sk_dk_lock = { .rw_rwlock = { .count = { .counter = 0 }, .wait_list = { .next = 0xffffa0894e721be8, .prev = 0xffffa0894e721be8 }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .osq = { .tail = { .counter = 0 } }, .owner = 0x0 }, .rw_owner = 0x0 }, .sk_dsl_keys = { .avl_root = 0x0, .avl_compar = spa_crypto_key_compare+0x0 = 0xffffffffc0535e90, .avl_offset = 0, .avl_numnodes = 0, .avl_size = 328 }, .sk_km_lock = { .rw_rwlock = { .count = { .counter = 0 }, .wait_list = { .next = 0xffffa0894e721c40, .prev = 0xffffa0894e721c40 }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .osq = { .tail = { .counter = 0 } }, .owner = 0x0 }, .rw_owner = 0x0 }, .sk_key_mappings = { .avl_root = 0x0, .avl_compar = spa_key_mapping_compare+0x0 = 0xffffffffc0535ec0, .avl_offset = 0, .avl_numnodes = 0, .avl_size = 48 }, .sk_wkeys_lock = { .rw_rwlock = { .count = { .counter = 0 }, .wait_list = { .next = 0xffffa0894e721c98, .prev = 0xffffa0894e721c98 }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .osq = { .tail = { .counter = 0 } }, .owner = 0x0 }, .rw_owner = 0x0 }, .sk_wkeys = { .avl_root = 0x0, .avl_compar = spa_wkey_compare+0x0 = 0xffffffffc0535ef0, .avl_offset = 0, .avl_numnodes = 0, .avl_size = 88 } }, .spa_lowmem_page_load = 0, .spa_lowmem_last_txg = 0, .spa_ccw_fail_time = 0, .spa_zvol_taskq = 0xffffa08951c5b200, .spa_prefetch_taskq = 0xffffa08951c5be00, .spa_multihost = 0, .spa_mmp = { .mmp_thread_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721d28, .prev = 0xffffa0894e721d28 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .mmp_thread_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffb38f02c53db8, .prev = 0xffffb38f02c53db8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721d70, .prev = 0xffffa0894e721d70 } }, .cv_refs = { .counter = 2 }, .cv_waiters = { .counter = 1 }, .cv_mutex = 0xffffa0894e721d18 }, .mmp_thread = 0xffffa089553adc00, .mmp_thread_exiting = 0, .mmp_io_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721db0, .prev = 0xffffa0894e721db0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .mmp_last_write = 28026656746, .mmp_delay = 1000000000, .mmp_ub = { .ub_magic = 0, .ub_version = 0, .ub_txg = 0, .ub_guid_sum = 0, .ub_timestamp = 0, .ub_rootbp = { .blk_dva = {}, .blk_prop = 0, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 0, .blk_fill = 0, .blk_cksum = { .zc_word = {} } }, .ub_software_version = 0, .ub_mmp_magic = 0, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0 }, .mmp_zio_root = 0x0, .mmp_kstat_id = 1, .mmp_skip_error = 0, .mmp_last_leaf = 0x0, .mmp_leaf_last_gen = 0, .mmp_seq = 0 }, .spa_leaf_list = { .list_size = 14440, .list_offset = 14120, .list_head = { .next = 0xffffa08949e5b728, .prev = 0xffffa08948afb728 } }, .spa_leaf_list_gen = 9, .spa_hostid = 0, .spa_activities_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721f20, .prev = 0xffffa0894e721f20 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_activities_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721f50, .prev = 0xffffa0894e721f50 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721f68, .prev = 0xffffa0894e721f68 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_waiters_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721f98, .prev = 0xffffa0894e721f98 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e721fb0, .prev = 0xffffa0894e721fb0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_waiters = 0, .spa_waiters_cancel = B_FALSE, .spa_config_lock = { [0] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e721fe8, .prev = 0xffffa0894e721fe8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722028, .prev = 0xffffa0894e722028 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722040, .prev = 0xffffa0894e722040 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [1] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e722078, .prev = 0xffffa0894e722078 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7220b8, .prev = 0xffffa0894e7220b8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7220d0, .prev = 0xffffa0894e7220d0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [2] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e722108, .prev = 0xffffa0894e722108 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722148, .prev = 0xffffa0894e722148 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722160, .prev = 0xffffa0894e722160 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [3] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e722198, .prev = 0xffffa0894e722198 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7221d8, .prev = 0xffffa0894e7221d8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7221f0, .prev = 0xffffa0894e7221f0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [4] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e722228, .prev = 0xffffa0894e722228 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722268, .prev = 0xffffa0894e722268 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722280, .prev = 0xffffa0894e722280 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [5] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e7222b8, .prev = 0xffffa0894e7222b8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7222f8, .prev = 0xffffa0894e7222f8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722310, .prev = 0xffffa0894e722310 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } }, [6] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffffa0894e722348, .prev = 0xffffa0894e722348 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e722388, .prev = 0xffffa0894e722388 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffa0894e7223a0, .prev = 0xffffa0894e7223a0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .scl_count = { .rc_count = 0 } } }, .spa_refcount = { .rc_count = 12 }, .spa_upgrade_taskq = 0xffffa08951c5b500 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print index bde4c717..b906ba6f 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print @@ -1 +1,3 @@ (char)97 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -c b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -c index c986a5d0..0ba2b18a 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -c +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -c @@ -1 +1,3 @@ (char)'a' +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -cr b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -cr index 67fe32da..5ad98ac7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -cr +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_name[1] | print -cr @@ -1 +1,3 @@ 'a' +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq index df2e19ad..62e2c9a9 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq @@ -1 +1,3 @@ (taskq_t **)0xffffa089369e8de0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] index d20c5331..3a1db000 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] @@ -1 +1,3 @@ (taskq_t *)0xffffa0893876bf00 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync->ub_rootbp b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync->ub_rootbp index e641dffd..a2b5fe74 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync->ub_rootbp +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync->ub_rootbp @@ -1 +1,3 @@ sdb: member: 'typedef struct uberblock uberblock_t' is a struct - use the dot(.) notation for member access +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.bogus b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.bogus index fe86be8f..9d1f7a65 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.bogus +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.bogus @@ -1 +1,3 @@ sdb: member: 'uberblock_t' has no member 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word index dceaec62..54aede48 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word @@ -1,3 +1,5 @@ (uint64_t [2]){ 1, 4194319 } (uint64_t [2]){ 2, 2163730 } (uint64_t [2]){ 1, 15663270 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array index 852eba97..d92d9b55 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array @@ -1 +1,3 @@ sdb: array: 'taskq_t **' is a pointer - please specify the number of elements +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 index dd730927..f56fe12f 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 @@ -4,3 +4,5 @@ (taskq_t *)0x87100a2a7aab6d9b (taskq_t *)0xffffa0895334d200 (taskq_t *)0x746c7561666564 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> index 643f596c..ebc45236 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> @@ -1 +1,3 @@ sdb: member: no identifier specified after -> +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq. b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq. index bb6f90a3..d8615951 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq. +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | member spa_zio_taskq[0][0].stqs_taskq. @@ -1 +1,3 @@ sdb: member: no identifier specified after . +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | range_tree b/tests/integration/data/regression_output/dump.201912060006/core/spa | range_tree index 91a26850..16b41ebb 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | range_tree +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | range_tree @@ -1 +1,3 @@ sdb: range_tree: expected input of type range_tree_t *, but received type spa_t * +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/spa | vdev | metaslab | deref | sizeof | sum b/tests/integration/data/regression_output/dump.201912060006/core/spa | vdev | metaslab | deref | sizeof | sum index 8bae3206..66afb436 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/spa | vdev | metaslab | deref | sizeof | sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/spa | vdev | metaslab | deref | sizeof | sum @@ -1 +1,3 @@ (uint64_t)368640 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/sum b/tests/integration/data/regression_output/dump.201912060006/core/sum index 8d8f8e43..4d8c136a 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/sum @@ -1 +1,3 @@ (uint64_t)0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" "b/tests/integration/data/regression_output/dump.201912060006/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" index ab7ddfc3..4f793a3a 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" +++ "b/tests/integration/data/regression_output/dump.201912060006/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" @@ -1,2 +1,4 @@ task state pid prio comm cmdline ---- ----- --- ---- ---- ------- +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/threads | deref | sizeof | sum b/tests/integration/data/regression_output/dump.201912060006/core/threads | deref | sizeof | sum index a23552ef..6f4d465d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/threads | deref | sizeof | sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/threads | deref | sizeof | sum @@ -1 +1,3 @@ (uint64_t)5244096 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/threads | sizeof | sum b/tests/integration/data/regression_output/dump.201912060006/core/threads | sizeof | sum index d6fdeb70..ef08da8b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/threads | sizeof | sum +++ b/tests/integration/data/regression_output/dump.201912060006/core/threads | sizeof | sum @@ -1 +1,3 @@ (uint64_t)4584 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter '== obj' b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter '== obj' index ea6dd70c..79cf39bf 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter '== obj' +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter '== obj' @@ -1 +1,3 @@ sdb: filter: invalid input: left hand side of expression is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj ==' b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj ==' index 2777a82e..b65b0e49 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj ==' +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj ==' @@ -1 +1,3 @@ sdb: filter: invalid input: right hand side of expression is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj' b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj' index fc761b9b..aea4edcc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj' +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | filter 'obj' @@ -1 +1,3 @@ sdb: filter: invalid input: comparison operator is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array index 83108c97..199f4bd5 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array @@ -1 +1,3 @@ (char)115 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 index f43fe3a1..22a6b557 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 @@ -1,3 +1,5 @@ warning: requested size 2 exceeds type size 1 (char)115 (char)112 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg[2] b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg[2] index 5dbcc210..e1535feb 100644 --- a/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg[2] +++ b/tests/integration/data/regression_output/dump.201912060006/core/zfs_dbgmsg | head 1 | member zdm_msg[2] @@ -1,2 +1,4 @@ warning: member: index out of bounds for array of type 'char [1]' (requested index: 2) (char)97 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * index 24d3c12c..680a3717 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * @@ -1 +1,3 @@ sdb: container_of: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of int comm | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of int comm | cast void * index 7329f422..d4c8f381 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of int comm | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of int comm | cast void * @@ -1 +1,3 @@ sdb: container_of: int is not a struct nor a typedef to a struct +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of pid comm | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of pid comm | cast void * index 9f234c7b..c8ba3d04 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of pid comm | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of pid comm | cast void * @@ -1 +1,3 @@ sdb: container_of: 'struct pid' has no member 'comm' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * index 9e574ce9..988cbf9e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * @@ -1 +1,3 @@ sdb: container_of: 'struct task_struct' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * index d6308edd..708fd6db 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * @@ -1 +1,3 @@ (void *)init_task+0x0 = 0xffffffff8c817740 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | container_of task_struct comm | cast void * b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | container_of task_struct comm | cast void * index 66ad8f29..28ed1471 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | container_of task_struct comm | cast void * +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member comm | container_of task_struct comm | cast void * @@ -1 +1,3 @@ sdb: container_of: container_of() argument must be a pointer, not 'char [16]' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm index 93c7930d..b64800bb 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm @@ -1 +1,3 @@ sdb: lxhlist: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm index d6aa6382..049cddaa 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm @@ -1 +1,3 @@ sdb: lxhlist: 'struct task_struct' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm index f0e8533e..d2d57c2d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm @@ -360,3 +360,5 @@ (char [16])"rcu_par_gp" (char [16])"rcu_gp" (char [16])"kthreadd" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist bogus_type list | member name b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist bogus_type list | member name index a0dcea05..17012b4c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist bogus_type list | member name +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist bogus_type list | member name @@ -1 +1,3 @@ sdb: lxlist: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module bogus_member | member name b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module bogus_member | member name index f6627ead..ec39ce86 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module bogus_member | member name +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module bogus_member | member name @@ -1 +1,3 @@ sdb: lxlist: 'struct module' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module list | member name b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module list | member name index 3ee304d9..5ae55bf4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module list | member name +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr modules | lxlist module list | member name @@ -76,3 +76,5 @@ (char [56])"i2c_piix4" (char [56])"pata_acpi" (char [56])"vmxnet3" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr spa_namespace_avl | cpu_counter_sum b/tests/integration/data/regression_output/dump.201912060006/linux/addr spa_namespace_avl | cpu_counter_sum index 8faabf08..136368da 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr spa_namespace_avl | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr spa_namespace_avl | cpu_counter_sum @@ -1 +1,3 @@ sdb: cpu_counter_sum: input is not a percpu_counter +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_orphan_count | cpu_counter_sum b/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_orphan_count | cpu_counter_sum index 4ec5ed45..ff9fcd9c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_orphan_count | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_orphan_count | cpu_counter_sum @@ -1 +1,3 @@ (s64)0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_sockets_allocated | cpu_counter_sum b/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_sockets_allocated | cpu_counter_sum index 07401c5a..8ae7d5f5 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_sockets_allocated | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr tcp_sockets_allocated | cpu_counter_sum @@ -1 +1,3 @@ (s64)59 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr vm_committed_as | cpu_counter_sum b/tests/integration/data/regression_output/dump.201912060006/linux/addr vm_committed_as | cpu_counter_sum index 1e23c715..29062e95 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr vm_committed_as | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr vm_committed_as | cpu_counter_sum @@ -1 +1,3 @@ (s64)779864 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree bogus_type rb_node b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree bogus_type rb_node index 0e236835..4c4f4edf 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree bogus_type rb_node +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree bogus_type rb_node @@ -1 +1,3 @@ sdb: rbtree: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area bogus_member b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area bogus_member index 384d99f7..760cbe96 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area bogus_member +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area bogus_member @@ -1 +1,3 @@ sdb: rbtree: 'struct vmap_area' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area rb_node b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area rb_node index 9dbe2aee..a9192492 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area rb_node +++ b/tests/integration/data/regression_output/dump.201912060006/linux/addr vmap_area_root | rbtree vmap_area rb_node @@ -1654,3 +1654,5 @@ (struct vmap_area *)0xffffa088f89f79c0 (struct vmap_area *)0xffffa088f1769180 (struct vmap_area *)0xffffa088f1df0480 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread b/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread index 3b8a5962..617788cf 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread +++ b/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread @@ -17,3 +17,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread | stacks b/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread | stacks index 3b8a5962..617788cf 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread | stacks +++ b/tests/integration/data/regression_output/dump.201912060006/linux/crashed_thread | stacks @@ -17,3 +17,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/dbuf |head 1 |deref |member db_buf |whatis b/tests/integration/data/regression_output/dump.201912060006/linux/dbuf |head 1 |deref |member db_buf |whatis index 3fe189cd..b2aafa65 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/dbuf |head 1 |deref |member db_buf |whatis +++ b/tests/integration/data/regression_output/dump.201912060006/linux/dbuf |head 1 |deref |member db_buf |whatis @@ -1 +1,3 @@ 0xffffa08943a90050 is allocated from arc_buf_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg index 8784b670..90a198e0 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg +++ b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg @@ -1265,3 +1265,5 @@ [ 305.374703]: RBP: 000055e5f13d2a20 R08: 000000000000000a R09: 0000000000000001 [ 305.376456]: R10: 000000000000000a R11: 0000000000000246 R12: 00007faa4ecec760 [ 305.378189]: R13: 0000000000000002 R14: 00007faa4ece82a0 R15: 00007faa4ece7760 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | filter 'obj.level == 3' | dmesg b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | filter 'obj.level == 3' | dmesg index d4fdec51..0a8cf7b0 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | filter 'obj.level == 3' | dmesg +++ b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | filter 'obj.level == 3' | dmesg @@ -4,3 +4,5 @@ [ 4.363435]: sd 2:0:2:0: [sdc] Assuming drive cache: write throughSUBSYSTEM=scsi [ 4.366085]: sd 2:0:3:0: [sdd] Assuming drive cache: write throughSUBSYSTEM=scsi [ 48.368009]: db_root: cannot open: /etc/target +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | pp b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | pp index 8784b670..90a198e0 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | pp +++ b/tests/integration/data/regression_output/dump.201912060006/linux/dmesg | pp @@ -1265,3 +1265,5 @@ [ 305.374703]: RBP: 000055e5f13d2a20 R08: 000000000000000a R09: 0000000000000001 [ 305.376456]: R10: 000000000000000a R11: 0000000000000246 R12: 00007faa4ecec760 [ 305.378189]: R13: 0000000000000002 R14: 00007faa4ece82a0 R15: 00007faa4ece7760 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/echo 0x0 | cpu_counter_sum b/tests/integration/data/regression_output/dump.201912060006/linux/echo 0x0 | cpu_counter_sum index c4445251..665b1dbe 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/echo 0x0 | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.201912060006/linux/echo 0x0 | cpu_counter_sum @@ -1 +1,3 @@ sdb: cpu_counter_sum: invalid memory access: could not read memory from kdump: Cannot get page I/O address: PDPT table not present: p4d[0] = 0x0: 0x8 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/echo 0xffffa089669edc00 | stack b/tests/integration/data/regression_output/dump.201912060006/linux/echo 0xffffa089669edc00 | stack index 3e555fbc..be1e869b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/echo 0xffffa089669edc00 | stack +++ b/tests/integration/data/regression_output/dump.201912060006/linux/echo 0xffffa089669edc00 | stack @@ -14,3 +14,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 index 90a9cb58..8e2efefc 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 @@ -1 +1,3 @@ (struct task_struct *)0xffffa089669edc00 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 index eb9cf78a..1f6f5a3b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 @@ -1,2 +1,4 @@ (struct task_struct *)0xffffa089669edc00 (struct task_struct *)0xffffa089669ec500 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 | member comm b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 | member comm index 6812d697..4bfcd37a 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 | member comm +++ b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 2 | member comm @@ -1,2 +1,4 @@ (char [16])"systemd" (char [16])"kthreadd" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 index 7c0e5e39..bef60944 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 @@ -1,2 +1,4 @@ (struct file *)0xffffa08956638e00 (struct file *)0xffffa08965431c00 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 123123 b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 123123 index 2d053008..76c1a51e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 123123 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/find_task 1 | fget 1 4 123123 @@ -1,3 +1,5 @@ (struct file *)0xffffa08956638e00 (struct file *)0xffffa08965431c00 (struct file *)0xe901d3e0317c1084 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 b/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 index d67c625e..41c9563c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 @@ -1 +1,3 @@ (struct pid *)0xffffa089669b5180 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 10 12437 b/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 10 12437 index d1cede1e..135a8718 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 10 12437 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/pid 1 10 12437 @@ -1,3 +1,5 @@ (struct pid *)0xffffa089669b5180 (struct pid *)0xffffa089669b5080 (struct pid *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs b/tests/integration/data/regression_output/dump.201912060006/linux/slabs index a4d41299..cb5d9005 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs @@ -207,3 +207,5 @@ btrfs_delayed_ref_head 160 0 0.0B 0.0B btrfs_delayed_node 312 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 392 0 0.0B 0.0B 0 PING 960 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -o bogus b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -o bogus index 3e2248bc..a328a38a 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -o bogus +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -o bogus @@ -1 +1,3 @@ sdb: slabs: 'bogus' is not a valid field +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o active_objs,util,name b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o active_objs,util,name index 4cad54f5..2f1003b9 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o active_objs,util,name +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o active_objs,util,name @@ -207,3 +207,5 @@ active_objs util name 0 0 btrfs_delayed_node 0 0 arc_buf_hdr_t_full_crypt 0 0 PING +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o util b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o util index d60d1f31..17443d39 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o util +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s active_objs -o util @@ -1 +1,3 @@ sdb: slabs: invalid input: 'active_objs' is not in field set (util) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s bogus b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s bogus index 2cfb68ba..f0187c6c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s bogus +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s bogus @@ -1,2 +1,4 @@ sdb: slabs: invalid input: 'bogus' is not in field set (name, entry_size, active_objs, active_memory, total_memory, util) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util index 638ec3b2..63d95fa8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util @@ -207,3 +207,5 @@ btrfs_delayed_ref_head 160 0 0.0B 0.0B btrfs_delayed_node 312 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 392 0 0.0B 0.0B 0 PING 960 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util | slabs b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util | slabs index a4d41299..cb5d9005 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util | slabs +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -s util | slabs @@ -207,3 +207,5 @@ btrfs_delayed_ref_head 160 0 0.0B 0.0B btrfs_delayed_node 312 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 392 0 0.0B 0.0B 0 PING 960 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -v b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -v index 896f747e..ac2467c1 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs -v +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs -v @@ -207,3 +207,5 @@ 0xffffa0894cd7f080 nfsd4_stateids 168 168 24 0 0.0B 0.0B 0 0 0 0 0xffffa0894cd7ea80 nfsd4_delegations 232 232 17 0 0.0B 0.0B 0 0 0 0 0xffffa0892074f800 t10_pr_reg_cache 704 704 23 0 0.0B 0.0B 0 0 0 0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" index f49ddb1d..2e3fddd1 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" @@ -1 +1,3 @@ (unsigned long long)57 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" index 1bad16c8..596815e7 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" @@ -4,3 +4,5 @@ DVA[2]=<0:0x50002c00:0x800> [L0 SPA space map] fletcher4 lz4 layer=0 unencrypted LE contiguous unique triple size=0x20000L/0x400P birth=10L/10P fill=1 cksum=0x8c1caab0a6:0x45de629e8318:0x13bfbe391d06f8:0x41fc70c3e1d38f2 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" index 24e4eb23..c3aeb76c 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" @@ -1 +1,3 @@ HOLE [L0 unallocated] size=0x200L birth=0x0L +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" index 95e89e37..2c185f2b 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffffa0897fc27040 (struct kmem_cache_cpu *)0xffffa0897fd27040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" index cae55b5b..ae55e691 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" @@ -1 +1,3 @@ (struct kmem_cache_cpu *)0xffffa0897fc27040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" index 95e89e37..2c185f2b 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffffa0897fc27040 (struct kmem_cache_cpu *)0xffffa0897fd27040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" index 032a7541..cbde6a58 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffffa0897fc27040 sdb: percpu: available CPUs [0-1] - requested CPU 2 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" index 901ccc35..aeb52f56 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" @@ -1 +1,3 @@ (struct kmem_cache_cpu *)0xffffa0897fd27040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" index d0d383d4..5dafe9ae 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 100 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" index 7058ca61..12f36d85 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 2 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" index e4a9c1fd..e2a9449b 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 3 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" index 969a3bcc..d467b5ef 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" @@ -16,3 +16,5 @@ (void *)0xffffa089533a2700 (void *)0xffffa0895f2e9860 (void *)0xffffa0895f2ec9c0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" index 0c170911..ff7a27e8 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" @@ -16,3 +16,5 @@ (char [256])"rpool" (char [256])"data" (char [256])"data" +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" index 1694329f..4a717f68 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" @@ -1 +1,3 @@ (unsigned long long)18 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" index 969a3bcc..d467b5ef 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" @@ -16,3 +16,5 @@ (void *)0xffffa089533a2700 (void *)0xffffa0895f2e9860 (void *)0xffffa0895f2ec9c0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | head 2 | slabs b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | head 2 | slabs index 69088bac..d68f3a72 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | head 2 | slabs +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | head 2 | slabs @@ -2,3 +2,5 @@ name entry_size active_objs active_memory total_memory util ---------------- ---------- ----------- ------------- ------------ ---- AF_VSOCK 1216 26 30.9KB 30.9KB 100 t10_pr_reg_cache 704 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | pp b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | pp index a4d41299..cb5d9005 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/slabs | pp +++ b/tests/integration/data/regression_output/dump.201912060006/linux/slabs | pp @@ -207,3 +207,5 @@ btrfs_delayed_ref_head 160 0 0.0B 0.0B btrfs_delayed_node 312 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 392 0 0.0B 0.0B 0 PING 960 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks b/tests/integration/data/regression_output/dump.201912060006/linux/stacks index 69409db3..e6ea1519 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks @@ -599,3 +599,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -a b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -a index 3c4adefc..1ea5d2fd 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -a +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -a @@ -1123,3 +1123,5 @@ TASK_STRUCT STATE do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c bogus b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c bogus index b548356e..a9a071da 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c bogus +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c bogus @@ -1 +1,3 @@ sdb: stacks: symbol 'bogus' does not exist +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c spa_sync b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c spa_sync index 4c5d1965..f9efc779 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c spa_sync +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -c spa_sync @@ -1,2 +1,4 @@ TASK_STRUCT STATE COUNT ========================================== +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus index 5f410b10..ddf82d7c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus @@ -1 +1,3 @@ sdb: stacks: module 'bogus' doesn't exist or isn't currently loaded +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus | count b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus | count index 5f410b10..ddf82d7c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus | count +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m bogus | count @@ -1 +1,3 @@ sdb: stacks: module 'bogus' doesn't exist or isn't currently loaded +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs index fe9792a7..fee8f43c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs @@ -140,3 +140,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c spa_sync b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c spa_sync index 4c5d1965..f9efc779 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c spa_sync +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c spa_sync @@ -1,2 +1,4 @@ TASK_STRUCT STATE COUNT ========================================== +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c zthr_procedure b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c zthr_procedure index 1584b540..796c428b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c zthr_procedure +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs -c zthr_procedure @@ -25,3 +25,5 @@ TASK_STRUCT STATE COUNT kthread+0x121 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs | count b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs | count index b17ba54c..2b22f8f7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs | count +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -m zfs | count @@ -1 +1,3 @@ (unsigned long long)27 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -t bogus b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -t bogus index 8e3d2a79..fe8bb1ec 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/stacks -t bogus +++ b/tests/integration/data/regression_output/dump.201912060006/linux/stacks -t bogus @@ -1 +1,3 @@ sdb: stacks: 'bogus' is not a valid task state (acceptable states: RUNNING, INTERRUPTIBLE, UNINTERRUPTIBLE, STOPPED, TRACED, DEAD, ZOMBIE, PARKED, IDLE) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/thread b/tests/integration/data/regression_output/dump.201912060006/linux/thread index 572a5f5e..3e218510 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/thread +++ b/tests/integration/data/regression_output/dump.201912060006/linux/thread @@ -573,3 +573,5 @@ task state pid prio comm cmdline 0xffffa08966bd2e00 INTERRUPTIBLE 30 139 khugepaged 0xffffa08966bd4500 IDLE 34 100 tpm_dev_wq 0xffffa08966bd5c00 IDLE 33 100 kblockd +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/threads b/tests/integration/data/regression_output/dump.201912060006/linux/threads index 572a5f5e..3e218510 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/threads +++ b/tests/integration/data/regression_output/dump.201912060006/linux/threads @@ -573,3 +573,5 @@ task state pid prio comm cmdline 0xffffa08966bd2e00 INTERRUPTIBLE 30 139 khugepaged 0xffffa08966bd4500 IDLE 34 100 tpm_dev_wq 0xffffa08966bd5c00 IDLE 33 100 kblockd +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/threads | count b/tests/integration/data/regression_output/dump.201912060006/linux/threads | count index 823ba53b..616168fd 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/threads | count +++ b/tests/integration/data/regression_output/dump.201912060006/linux/threads | count @@ -1 +1,3 @@ (unsigned long long)573 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | stack" "b/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | stack" index 1036da1c..aefa8dfa 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | stack" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | stack" @@ -101,3 +101,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x5a entry_SYSCALL_64+0x7c +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | threads" "b/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | threads" index d98675de..ac2d5bd6 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | threads" +++ "b/tests/integration/data/regression_output/dump.201912060006/linux/threads | filter 'obj.comm == \"java\"' | threads" @@ -83,3 +83,5 @@ task state pid prio comm cmdline 0xffffa08960a3ae00 INTERRUPTIBLE 2857 120 java 0xffffa08960a3c500 INTERRUPTIBLE 2858 120 java 0xffffa08960a3dc00 INTERRUPTIBLE 2856 120 java +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xf987kkbbh b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xf987kkbbh index 69470daf..22bd8502 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xf987kkbbh +++ b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xf987kkbbh @@ -1 +1,3 @@ 0xf987kkbbh is not a valid address +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffff b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffff index dfa6cea3..a166b230 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffff +++ b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffff @@ -1 +1,3 @@ 0xffff does not map to a kmem_cache +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 index ffd82192..6418f69e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 @@ -1,2 +1,4 @@ 0xffffa0888c766000 is allocated from arc_buf_hdr_t_full 0xffffa089407ca870 is allocated from dmu_buf_impl_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa089407ca870 b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa089407ca870 index 60a15428..190383da 100644 --- a/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa089407ca870 +++ b/tests/integration/data/regression_output/dump.201912060006/linux/whatis 0xffffa089407ca870 @@ -1 +1,3 @@ 0xffffa089407ca870 is allocated from dmu_buf_impl_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head b/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head index d5129dc6..1aff8041 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head +++ b/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head @@ -8,3 +8,5 @@ (void *)0xffffa089598b6148 (void *)0xffffa08945de0a40 (void *)0xffffa088d1cdc000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | walk | head b/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | walk | head index d5129dc6..1aff8041 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | walk | head +++ b/tests/integration/data/regression_output/dump.201912060006/spl/addr arc_mru | member [0].arcs_list[1] | walk | head @@ -8,3 +8,5 @@ (void *)0xffffa089598b6148 (void *)0xffffa08945de0a40 (void *)0xffffa088d1cdc000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | avl b/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | avl index 8513d105..7250b0d4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | avl +++ b/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | avl @@ -1,3 +1,5 @@ (void *)0xffffa0894e720000 (void *)0xffffa089413b8000 (void *)0xffffa08955c44000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | walk b/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | walk index 8513d105..7250b0d4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | walk +++ b/tests/integration/data/regression_output/dump.201912060006/spl/addr spa_namespace_avl | walk @@ -1,3 +1,5 @@ (void *)0xffffa0894e720000 (void *)0xffffa089413b8000 (void *)0xffffa08955c44000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | spl_list b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | spl_list index 21b61f03..63c82eb1 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | spl_list +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | spl_list @@ -1,3 +1,5 @@ (void *)0xffffa08954d6a480 (void *)0xffffa089481ade80 (void *)0xffffa0895339bb20 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | walk b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | walk index 21b61f03..63c82eb1 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | walk +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_config_list | walk @@ -1,3 +1,5 @@ (void *)0xffffa08954d6a480 (void *)0xffffa089481ade80 (void *)0xffffa0895339bb20 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | spl_list b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | spl_list index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | spl_list +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | spl_list @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | walk b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | walk index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | walk +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_evicting_os_list | walk @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist index ce0fd69b..8d85374d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist @@ -48,3 +48,5 @@ (void *)0xffffa08953506800 (void *)0xffffa089533f7800 (void *)0xffffa089533f0000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk index ce0fd69b..8d85374d 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk @@ -48,3 +48,5 @@ (void *)0xffffa08953506800 (void *)0xffffa089533f7800 (void *)0xffffa089533f0000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches index 38c30baa..724d42f9 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches @@ -138,3 +138,5 @@ kcf_areq_cache 512 0 0.0B kcf_areq ddt_entry_cache 448 0 0.0B ddt_entry_cache[SLUB] 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B arc_buf_hdr_t_l2only[SLUB] 3.9KB 0 arc_buf_hdr_t_full_crypt 392 0 0.0B arc_buf_hdr_t_full_crypt[SLUB] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,entry_size -s entry_size b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,entry_size -s entry_size index b09ea5f6..7bdd8a40 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,entry_size -s entry_size +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,entry_size -s entry_size @@ -138,3 +138,5 @@ arc_buf_t 80 zio_link_cache 48 abd_t 40 mod_hash_entries 24 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,source b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,source index 435d8165..d1403b7e 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,source +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -o name,source @@ -138,3 +138,5 @@ zio_data_buf_8388608 zio_data_buf_8388608[SPL ] zio_data_buf_917504 zio_data_buf_917504[SPL ] zio_data_buf_98304 zio_data_buf_98304[SPL ] zio_link_cache zio_link_cache[SLUB] +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size index 0285f68d..9bb8fa41 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size @@ -138,3 +138,5 @@ arc_buf_t 80 4046 316.1KB arc zio_link_cache 48 0 0.0B zio_link_cache[SLUB] 127.5KB 0 abd_t 40 31047 1.2MB abd_t[SLUB] 1.2MB 96 mod_hash_entries 24 35 840.0B mod_hash_entries[SLUB] 4.0KB 20 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches index 34435127..fc813c03 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches @@ -4,3 +4,5 @@ zio_data_buf_16777216 16785408 0 0.0B zio_data_buf_16777216 zio_data_buf_14680064 14686208 0 0.0B zio_data_buf_14680064[SPL ] 0.0B 0 zio_buf_16777216 16785408 0 0.0B zio_buf_16777216[SPL ] 0.0B 0 zio_buf_14680064 14686208 0 0.0B zio_buf_14680064[SPL ] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -v b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -v index 265f1e1b..bfae2ae1 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -v +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches -v @@ -138,3 +138,5 @@ 0xffffa08956637400 zil_zcw_cache KMC_NOMAGAZINE|KMC_SLAB 152 152 0 0 0 0 0 0.0B 7.7KB 0 0 0 zil_zcw_cache[SLUB] 0 0xffffa08956637200 sio_cache_0 KMC_NOMAGAZINE|KMC_SLAB 136 136 0 0 0 0 0 0.0B 0.0B 0 0 0 sio_cache_0[SLUB] 0 0xffffa08956636e00 arc_buf_hdr_t_l2only KMC_NOMAGAZINE|KMC_SLAB 96 96 0 0 0 0 0 0.0B 3.9KB 0 0 0 arc_buf_hdr_t_l2only[SLUB] 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache index ae4e39a1..14eb3de5 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache @@ -3562,3 +3562,5 @@ (void *)0xffffa087d4ea6000 (void *)0xffffa087d4ec7000 (void *)0xffffa087d4ee8000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt index dbc7115a..cec72449 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt @@ -1 +1,3 @@ (unsigned long long)3564 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache index 353cace0..afe56857 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache @@ -33,3 +33,5 @@ (void *)0xffffa089566daeb8 (void *)0xffffa089566daed0 (void *)0xffffa089566daf00 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" "b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" index 149b31b1..1733670b 100644 --- "a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" +++ "b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" @@ -44,3 +44,5 @@ (void *)0xffffa0895365e680 (void *)0xffffa089536647c0 (void *)0xffffa0895366a900 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | pp b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | pp index 38c30baa..724d42f9 100644 --- a/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | pp +++ b/tests/integration/data/regression_output/dump.201912060006/spl/spl_kmem_caches | pp @@ -138,3 +138,5 @@ kcf_areq_cache 512 0 0.0B kcf_areq ddt_entry_cache 448 0 0.0B ddt_entry_cache[SLUB] 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B arc_buf_hdr_t_l2only[SLUB] 3.9KB 0 arc_buf_hdr_t_full_crypt 392 0 0.0B arc_buf_hdr_t_full_crypt[SLUB] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/arc b/tests/integration/data/regression_output/dump.201912060006/zfs/arc index 2a163249..f1320af2 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/arc +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/arc @@ -96,3 +96,5 @@ arcstat_demand_hit_prescient_prefetch = 0 arcstat_need_free = 0 arcstat_sys_free = 122268224 arcstat_raw_size = 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf index c7716a56..b21093b5 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf @@ -4033,3 +4033,5 @@ 0xffffa0895a1c4870 166891 0 843 0 rpool/ROOT/delphix.gX9jjSh/root 0xffffa08941260f78 0 0 887 32 rpool/ROOT/delphix.gX9jjSh/home 0xffffa08847e64168 2 0 555 0 meta-domain/fs-tmp +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf -l 1 b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf -l 1 index 2d159896..cef54a48 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf -l 1 +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf -l 1 @@ -273,3 +273,5 @@ 0xffffa08937b83950 168241 1 0 0 rpool/ROOT/delphix.gX9jjSh/root 0xffffa089448305a0 25932 1 0 0 rpool/ROOT/delphix.gX9jjSh/root 0xffffa089642e6870 5741 1 0 0 rpool/ROOT/delphix.gX9jjSh/root +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 index 2d159896..cef54a48 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 @@ -273,3 +273,5 @@ 0xffffa08937b83950 168241 1 0 0 rpool/ROOT/delphix.gX9jjSh/root 0xffffa089448305a0 25932 1 0 0 rpool/ROOT/delphix.gX9jjSh/root 0xffffa089642e6870 5741 1 0 0 rpool/ROOT/delphix.gX9jjSh/root +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 | head | dbuf b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 | head | dbuf index 8482dc25..e9a52625 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 | head | dbuf +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | dbuf -l 1 | head | dbuf @@ -9,3 +9,5 @@ 0xffffa08937e593b0 166892 1 2 39 rpool/ROOT/delphix.gX9jjSh/root 0xffffa08954d437e8 0 1 5 139 rpool/ROOT/delphix.gX9jjSh/root 0xffffa088d346d3b0 168248 1 0 0 rpool/ROOT/delphix.gX9jjSh/root +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | head 1 | member db_blkptr | blkptr b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | head 1 | member db_blkptr | blkptr index b3010d79..f4f00167 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | head 1 | member db_blkptr | blkptr +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/dbuf | head 1 | member db_blkptr | blkptr @@ -2,3 +2,5 @@ DVA[0]=<0:0x2cefd5e00:0x20000> [L0 ZFS plain file] fletcher4 uncompressed layer=0 unencrypted LE contiguous unique single size=0x20000L/0x20000P birth=1624L/1624P fill=1 cksum=0x3feb86d3fa14:0xff98411222361a1:0x7cd8eb3816d141e1:0x2d65ae38a67197c7 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa b/tests/integration/data/regression_output/dump.201912060006/zfs/spa index 921f0052..96cdd000 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa @@ -3,3 +3,5 @@ ADDR NAME 0xffffa0894e720000 data 0xffffa089413b8000 meta-domain 0xffffa08955c44000 rpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -H b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -H index bc85223f..fcb75038 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -H +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -H @@ -48,3 +48,5 @@ ADDR NAME Approx. Median: 92.0MB 0xffffa08955c44000 rpool ** No histogram data available ** +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -mH b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -mH index d84b9fae..634f50f8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -mH +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -mH @@ -845,3 +845,5 @@ ADDR NAME 0xffffa0895374f000 136 0x1100000000 512MB - 0B 0xffffa0895374e800 137 0x1120000000 512MB - 0B 0xffffa0895374d000 138 0x1140000000 512MB - 0B +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -v b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -v index dfde9240..5048fba3 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -v +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -v @@ -24,3 +24,5 @@ ADDR NAME ------------------------------------------------------------ 0xffffa08952efc000 HEALTHY NONE root 0xffffa08953300000 HEALTHY NONE /dev/sda1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vH b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vH index 648e0a04..548c26ff 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vH +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vH @@ -115,3 +115,5 @@ ADDR NAME 0xffffa08952efc000 HEALTHY NONE root 0xffffa08953300000 HEALTHY NONE /dev/sda1 ** No histogram data available ** +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vm b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vm index ea37ea3a..d657f662 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vm +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vm @@ -212,3 +212,5 @@ ADDR NAME 0xffffa0895374f000 136 0x1100000000 512MB - 0B 0xffffa0895374e800 137 0x1120000000 512MB - 0B 0xffffa0895374d000 138 0x1140000000 512MB - 0B +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vmH b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vmH index d84b9fae..634f50f8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vmH +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa -vmH @@ -845,3 +845,5 @@ ADDR NAME 0xffffa0895374f000 136 0x1100000000 512MB - 0B 0xffffa0895374e800 137 0x1120000000 512MB - 0B 0xffffa0895374d000 138 0x1140000000 512MB - 0B +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram index 54a3ac16..23c9cdc7 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram @@ -21,3 +21,5 @@ seg-size count 128.0MB: 0 256.0MB: 15 *************** Approx. Median: 192.0MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist index af035907..abb46697 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist @@ -20,3 +20,5 @@ seg-size count 128.0MB: 0 256.0MB: 1 * Approx. Median: 192.0MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist index 4a78270f..0149d2f0 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist @@ -21,3 +21,5 @@ seg-size count 256.0KB: 0 512.0KB: 1 * Approx. Median: 384.0KB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 index 9538b4c8..6b3a30c2 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 @@ -21,3 +21,5 @@ seg-size count 128.0MB: 0 256.0MB: 1 * Approx. Median: 192.0MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa rpool b/tests/integration/data/regression_output/dump.201912060006/zfs/spa rpool index 8cab5cbc..ddc9840b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa rpool +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa rpool @@ -1,3 +1,5 @@ ADDR NAME ------------------------------------------------------------ 0xffffa08955c44000 rpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr index dc5648cf..48d70db4 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr @@ -4,3 +4,5 @@ DVA[2]=<0:0x10000da00:0x200> [L0 DMU objset] fletcher4 lz4 layer=0 unencrypted LE contiguous unique triple size=0x1000L/0x200P birth=609L/609P fill=67 cksum=0x98a43f544:0x3eab35f140c:0xd164e4328324:0x1da8f37ef09087 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | spa b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | spa index 3c7b53f8..45f1043b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | spa +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | head 1 | spa @@ -1,3 +1,5 @@ ADDR NAME ------------------------------------------------------------ 0xffffa0894e720000 data +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | pp b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | pp index 921f0052..96cdd000 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | pp +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | pp @@ -3,3 +3,5 @@ ADDR NAME 0xffffa0894e720000 data 0xffffa089413b8000 meta-domain 0xffffa08955c44000 rpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev index 6d623b0b..061d4fba 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev @@ -15,3 +15,5 @@ 0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3 0xffffa08952efc000 HEALTHY NONE root 0xffffa08953300000 HEALTHY NONE /dev/sda1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab index 1700caf3..67767eeb 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab @@ -180,3 +180,5 @@ 0xffffa0895374f000 136 0x1100000000 512MB - 0B 0xffffa0895374e800 137 0x1120000000 512MB - 0B 0xffffa0895374d000 138 0x1140000000 512MB - 0B +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab -w b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab -w index e5a54b5a..e04cf72b 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab -w +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab -w @@ -180,3 +180,5 @@ 136 - SPACE - 0M (0.0%) 0B 523MB 137 - SPACE - 0M (0.0%) 0B 519MB 138 - SPACE - 0M (0.0%) 0B 515MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree index 7df2f3c4..1457960c 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree @@ -2876,3 +2876,5 @@ 0xffffa08953770000: range tree of 0 entries, 0 bytes 0xffffa08953774000: range tree of 0 entries, 0 bytes 0xffffa08953775c00: range tree of 0 entries, 0 bytes +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree index 91710c2e..310f5ce8 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree @@ -2696,3 +2696,5 @@ (void *)0xffffa08954fac020 (void *)0xffffa08954fac028 (void *)0xffffa08954fac030 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | pp b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | pp index 6d623b0b..061d4fba 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | pp +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/spa | vdev | pp @@ -15,3 +15,5 @@ 0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3 0xffffa08952efc000 HEALTHY NONE root 0xffffa08953300000 HEALTHY NONE /dev/sda1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg b/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg index 83df96d7..efef19b5 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg @@ -97,3 +97,5 @@ spa_history.c:306:spa_history_log_sync(): command: zpool create meta-domain raid spa_history.c:314:spa_history_log_sync(): txg 8 create meta-domain/fs-tmp (id 69) spa_history.c:339:spa_history_log_sync(): ioctl create spa_history.c:306:spa_history_log_sync(): command: zfs create meta-domain/fs-tmp +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg b/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg index 93c6c1a6..595a0073 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg @@ -3,3 +3,5 @@ spa_history.c:306:spa_history_log_sync(): command: zpool create meta-domain raid spa_history.c:314:spa_history_log_sync(): txg 8 create meta-domain/fs-tmp (id 69) spa_history.c:339:spa_history_log_sync(): ioctl create spa_history.c:306:spa_history_log_sync(): command: zfs create meta-domain/fs-tmp +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/zio b/tests/integration/data/regression_output/dump.201912060006/zfs/zio index 39b276a6..47df4b67 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/zio +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/zio @@ -17,3 +17,5 @@ 0xffffa089533a2700 NULL OPEN - - 0xffffa0895f2e9860 NULL OPEN - - 0xffffa0895f2ec9c0 NULL OPEN - - +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.201912060006/zfs/zio -r b/tests/integration/data/regression_output/dump.201912060006/zfs/zio -r index 39b276a6..47df4b67 100644 --- a/tests/integration/data/regression_output/dump.201912060006/zfs/zio -r +++ b/tests/integration/data/regression_output/dump.201912060006/zfs/zio -r @@ -17,3 +17,5 @@ 0xffffa089533a2700 NULL OPEN - - 0xffffa0895f2e9860 NULL OPEN - - 0xffffa0895f2ec9c0 NULL OPEN - - +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr bogus b/tests/integration/data/regression_output/dump.202303131823/core/addr bogus index a86e3e53..0149a607 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr bogus +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr bogus @@ -1 +1,3 @@ sdb: addr: symbol not found: bogus +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr fget | deref b/tests/integration/data/regression_output/dump.202303131823/core/addr fget | deref index e3d40941..baab73c1 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr fget | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr fget | deref @@ -1 +1,3 @@ sdb: deref: cannot dereference function pointer +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref b/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref index 37ee6a8b..7a9dead8 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref @@ -1 +1,3 @@ (volatile unsigned long)4295291579 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref | deref b/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref | deref index a7f18f22..e12a1cd4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr jiffies | deref | deref @@ -1 +1,3 @@ sdb: deref: 'volatile unsigned long' is not a valid pointer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl index cb233e57..1f4578fe 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl zfs_dbgmsgs | print -d b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl zfs_dbgmsgs | print -d index d90b636e..d7111a24 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl zfs_dbgmsgs | print -d +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl zfs_dbgmsgs | print -d @@ -73,3 +73,5 @@ .kpe_proc = (struct proc_dir_entry *)0xffff9ac65ee273c0, }, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref index f051c07a..e065190a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref @@ -4,3 +4,5 @@ .avl_offset = (size_t)264, .avl_numnodes = (ulong_t)3, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | addr b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | addr index cb233e57..1f4578fe 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | addr +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | addr @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | print b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | print index f051c07a..e065190a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | print +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | deref | print @@ -4,3 +4,5 @@ .avl_offset = (size_t)264, .avl_numnodes = (ulong_t)3, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child index cfe8f9e5..98d8f13f 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[0]->avl_child @@ -1 +1,3 @@ (struct avl_node *[2]){} +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[1 b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[1 index c07687ab..bd2b941c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[1 +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[1 @@ -1 +1,3 @@ sdb: member: incomplete array expression: please use something of the format 'array_name[index]' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[3] b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[3] index 8637301a..514052f6 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[3] +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[3] @@ -1,2 +1,4 @@ warning: member: index out of bounds for array of type 'struct avl_node *[2]' (requested index: 3) (struct avl_node *)0xffff9ac64ca9a360 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[a] b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[a] index a50a79b9..77d13c6e 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[a] +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root->avl_child[a] @@ -1 +1,3 @@ sdb: member: incorrect index: 'a' is not a number +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child index cfe8f9e5..98d8f13f 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_child[0].avl_child @@ -1 +1,3 @@ (struct avl_node *[2]){} +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size index 1e80c324..29ef3627 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | member avl_root.avl_pcb avl_size @@ -1,2 +1,4 @@ (uintptr_t)1 sdb: member: 'avl_tree_t' has no member 'avl_size' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print index cb233e57..1f4578fe 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print @@ -1 +1,3 @@ (avl_tree_t *)spa_namespace_avl+0x0 = 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print --RAW b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print --RAW index 67b9d37b..dcb95e81 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print --RAW +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print --RAW @@ -1 +1,3 @@ 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -d b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -d index 6adbd52e..5cf1027f 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -d +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -d @@ -4,3 +4,5 @@ .avl_offset = (size_t)264, .avl_numnodes = (ulong_t)3, } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -n b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -n index ec05b9f9..5cf32487 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -n +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -n @@ -1 +1,3 @@ (avl_tree_t *)0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -nr b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -nr index 67b9d37b..dcb95e81 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -nr +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -nr @@ -1 +1,3 @@ 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -r b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -r index d99a190a..d463b1b2 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -r +++ b/tests/integration/data/regression_output/dump.202303131823/core/addr spa_namespace_avl | print -r @@ -1 +1,3 @@ spa_namespace_avl+0x0 = 0xffffffffc08934a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj < 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj < 1' index 1195f3e5..aa4eaeb7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj < 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj < 1' @@ -1 +1,3 @@ (void *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' index 6218040a..cf87594e 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj <= 1' @@ -1,2 +1,4 @@ (void *)0x0 (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj == 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj == 1' index 0ada95c0..12e6e69c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj == 1' @@ -1 +1,3 @@ (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj > 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj > 1' index 13ff7600..4e8a4e6b 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj > 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj > 1' @@ -1 +1,3 @@ (void *)0x2 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' index a7451662..d14331bf 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 0x1 0x2 | filter 'obj >= 1' @@ -1,2 +1,4 @@ (void *)0x1 (void *)0x2 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root index 1c378367..f516d48c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | addr spa_namespace_avl | echo 0x1 | cast avl_tree_t * | member avl_root @@ -1,3 +1,5 @@ sdb: member: invalid memory access: addresss 0x0 (struct avl_node *)0xffff9ac658924108 sdb: member: invalid memory access: addresss 0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | array 1 b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | array 1 index f46b2bb5..e6c7c273 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | array 1 +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | array 1 @@ -1 +1,3 @@ sdb: array: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | deref b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | deref index e711ef02..23afc1e4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast int * | deref @@ -1 +1,3 @@ sdb: deref: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast spa_t * | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast spa_t * | member spa_name index f79c5036..afc31aa8 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast spa_t * | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast spa_t * | member spa_name @@ -1 +1,3 @@ sdb: member: invalid memory access: addresss 0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast void * | array 1 b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast void * | array 1 index 51295f92..76136e78 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast void * | array 1 +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | cast void * | array 1 @@ -1 +1,3 @@ sdb: array: can't walk pointer array of incomplete type 'void' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 0' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 0' index 1195f3e5..aa4eaeb7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 0' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 0' @@ -1 +1,3 @@ (void *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 1' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 1' index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x0 | filter 'obj == 1' @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1 | filter 'obj == obj' b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1 | filter 'obj == obj' index 0ada95c0..12e6e69c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1 | filter 'obj == obj' +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1 | filter 'obj == obj' @@ -1 +1,3 @@ (void *)0x1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x10 | cast int * | deref b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x10 | cast int * | deref index d2f90a83..9ea037ed 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x10 | cast int * | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x10 | cast int * | deref @@ -1 +1,3 @@ sdb: deref: invalid memory access: addresss 0x10 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os index 2c067a56..bcedfee7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0x1234 | cast dmu_recv_cookie_t * | member drc_os @@ -1 +1,3 @@ sdb: member: invalid memory access: addresss 0x12c4 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 0xffff90cc11b28000 | deref b/tests/integration/data/regression_output/dump.202303131823/core/echo 0xffff90cc11b28000 | deref index b517f0ba..ea1cf80b 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 0xffff90cc11b28000 | deref +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 0xffff90cc11b28000 | deref @@ -1 +1,3 @@ sdb: deref: cannot dereference a void pointer +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 1 | echo 2 | sum b/tests/integration/data/regression_output/dump.202303131823/core/echo 1 | echo 2 | sum index 5b9bbfda..ecc2d55d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 1 | echo 2 | sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 1 | echo 2 | sum @@ -1 +1,3 @@ (uint64_t)3 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/echo 1234 | cast int | array b/tests/integration/data/regression_output/dump.202303131823/core/echo 1234 | cast int | array index 7c2439b7..27f23e44 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/echo 1234 | cast int | array +++ b/tests/integration/data/regression_output/dump.202303131823/core/echo 1234 | cast int | array @@ -1 +1,3 @@ sdb: array: 'int' is not an array nor a pointer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/filter 'obj == 1' b/tests/integration/data/regression_output/dump.202303131823/core/filter 'obj == 1' index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/filter 'obj == 1' +++ b/tests/integration/data/regression_output/dump.202303131823/core/filter 'obj == 1' @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/member no_object b/tests/integration/data/regression_output/dump.202303131823/core/member no_object index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/member no_object +++ b/tests/integration/data/regression_output/dump.202303131823/core/member no_object @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype $abc b/tests/integration/data/regression_output/dump.202303131823/core/ptype $abc index 778d3f1f..f0ecd377 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype $abc +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype $abc @@ -1 +1,3 @@ sdb: ptype: input '$abc' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'a b c' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'a b c' index a01fdde4..0bc31243 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'a b c' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'a b c' @@ -1 +1,3 @@ sdb: ptype: input 'a b c' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'bogus union' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'bogus union' index cc1731b6..19da9489 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'bogus union' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'bogus union' @@ -1 +1,3 @@ sdb: ptype: input 'bogus union' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct bogus' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct bogus' index 70772673..a9b599d9 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct bogus' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct bogus' @@ -1 +1,3 @@ sdb: ptype: couldn't find type 'struct bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct spa' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct spa' index bc5e62b9..a3594e75 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct spa' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct spa' @@ -200,3 +200,5 @@ struct spa { zfs_refcount_t spa_refcount; taskq_t *spa_upgrade_taskq; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct union' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct union' index 5cf94487..47418b5f 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct union' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct union' @@ -1 +1,3 @@ sdb: ptype: input 'struct union' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct' index 3a998af7..3ad89ef4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'struct' @@ -1 +1,3 @@ sdb: ptype: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'union struct struct' b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'union struct struct' index dd412f24..980d0532 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 'union struct struct' +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 'union struct struct' @@ -1 +1,3 @@ sdb: ptype: input 'union struct struct' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype 2abc b/tests/integration/data/regression_output/dump.202303131823/core/ptype 2abc index 39f91fb4..ea544776 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype 2abc +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype 2abc @@ -1 +1,3 @@ sdb: ptype: input '2abc' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype @ b/tests/integration/data/regression_output/dump.202303131823/core/ptype @ index ac8e79dd..0a28c42d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype @ +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype @ @@ -1 +1,3 @@ sdb: ptype: input '@' is not a valid type name +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype bogus_t b/tests/integration/data/regression_output/dump.202303131823/core/ptype bogus_t index 846cd783..ac038abd 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype bogus_t +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype bogus_t @@ -1 +1,3 @@ sdb: ptype: couldn't find typedef, struct, enum, nor union named 'bogus_t' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype spa vdev b/tests/integration/data/regression_output/dump.202303131823/core/ptype spa vdev index 4d56288d..ee3515f1 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype spa vdev +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype spa vdev @@ -363,3 +363,5 @@ struct vdev { uint64_t vdev_io_n; uint64_t vdev_io_t; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype spa_t b/tests/integration/data/regression_output/dump.202303131823/core/ptype spa_t index 7dbfe554..926d961d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype spa_t +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype spa_t @@ -1 +1,3 @@ typedef struct spa spa_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype struct spa b/tests/integration/data/regression_output/dump.202303131823/core/ptype struct spa index 3a998af7..3ad89ef4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype struct spa +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype struct spa @@ -1 +1,3 @@ sdb: ptype: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/ptype zfs_case 'struct v' thread_union b/tests/integration/data/regression_output/dump.202303131823/core/ptype zfs_case 'struct v' thread_union index f6d20581..2aa32ee9 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/ptype zfs_case 'struct v' thread_union +++ b/tests/integration/data/regression_output/dump.202303131823/core/ptype zfs_case 'struct v' thread_union @@ -10,3 +10,5 @@ union thread_union { struct task_struct task; unsigned long stack[2048]; } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sizeof bogus b/tests/integration/data/regression_output/dump.202303131823/core/sizeof bogus index c8133ac4..a4eafdcc 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sizeof bogus +++ b/tests/integration/data/regression_output/dump.202303131823/core/sizeof bogus @@ -1 +1,3 @@ sdb: sizeof: couldn't find typedef, struct, enum, nor union named 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sizeof size_t b/tests/integration/data/regression_output/dump.202303131823/core/sizeof size_t index a6375e71..8acd38f6 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sizeof size_t +++ b/tests/integration/data/regression_output/dump.202303131823/core/sizeof size_t @@ -1 +1,3 @@ (size_t)8 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sizeof spa vdev b/tests/integration/data/regression_output/dump.202303131823/core/sizeof spa vdev index cc635c67..ce331863 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sizeof spa vdev +++ b/tests/integration/data/regression_output/dump.202303131823/core/sizeof spa vdev @@ -1,2 +1,4 @@ (size_t)9792 (size_t)15800 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sizeof struct spa b/tests/integration/data/regression_output/dump.202303131823/core/sizeof struct spa index 096a29d3..66a6bbdc 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sizeof struct spa +++ b/tests/integration/data/regression_output/dump.202303131823/core/sizeof struct spa @@ -1 +1,3 @@ sdb: sizeof: skip keyword 'struct' or quote your type "struct " +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sizeof task_struct b/tests/integration/data/regression_output/dump.202303131823/core/sizeof task_struct index e4670493..139394cb 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sizeof task_struct +++ b/tests/integration/data/regression_output/dump.202303131823/core/sizeof task_struct @@ -1 +1,3 @@ (size_t)9280 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.bogus == 1624' b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.bogus == 1624' index 53f844e8..245a8fc3 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.bogus == 1624' +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.bogus == 1624' @@ -1 +1,3 @@ sdb: filter: 'spa_t' has no member 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name index 1379983a..751ae4ce 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg < 1624' | member spa_name @@ -1 +1,3 @@ (char [256])"rpool" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name index 1379983a..751ae4ce 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg <= 1624' | member spa_name @@ -1 +1,3 @@ (char [256])"rpool" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg == 1624' | member spa_name @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg > 1624' | member spa_name @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg >= 1624' | member spa_name @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' index fc761b9b..aea4edcc 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa rpool | filter 'obj.spa_syncing_txg bogus_op 1624' @@ -1 +1,3 @@ sdb: filter: invalid input: comparison operator is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | deref | sum b/tests/integration/data/regression_output/dump.202303131823/core/spa | deref | sum index 908ade20..5242fae8 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | deref | sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | deref | sum @@ -1 +1,3 @@ sdb: sum: 'struct spa' is not an integer type +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print --RAW -s b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print --RAW -s index 8839ea40..4b029ee0 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print --RAW -s +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print --RAW -s @@ -1 +1,3 @@ { "objpool", 0x0, { {}, 18446632775413022985 }, 0xffff9ac65c473fa0, 0x0, 0x0, 0xffff9ac616feeb60, 4, 0, POOL_STATE_ACTIVE, 0, 1, SPA_LOAD_NONE, B_TRUE, B_TRUE, B_FALSE, SPA_CONFIG_SRC_NONE, 0, { { { 1, 0xffff9ac64543de20 }, { 0, 0x0 }, { 1, 0xffff9ac64543dcc8 } }, { { 1, 0xffff9ac645636af0 }, { 0, 0x0 }, { 1, 0xffff9ac6456365d8 } }, { { 1, 0xffff9ac64543ddf8 }, { 1, 0xffff9ac64543da20 }, { 1, 0xffff9ac6456365c0 }, { 1, 0xffff9ac64543d758 } }, { { 1, 0xffff9ac645636a98 }, { 0, 0x0 }, { 1, 0xffff9ac645636cb8 } }, { { 1, 0xffff9ac64543d8d8 }, { 0, 0x0 }, { 1, 0xffff9ac64543d9f8 } }, { { 1, 0xffff9ac645636728 }, { 0, 0x0 }, { 1, 0xffff9ac645636188 } }, { { 1, 0xffff9ac64543df68 }, { 0, 0x0 }, { 1, 0xffff9ac64543dbe8 } } }, 0xffff9ac48f0a8000, B_FALSE, B_FALSE, 0xffff9ac559f74800, 0xffff9ac559f77c00, 0xffff9ac610619400, 0xffff9ac61061b400, 0xffff9ac60523e000, 0xffff9ac49990ec00, 4, 18446744073709551615, 18446744073709551615, 18446744073709551615, 0, { 0, 0 }, 0xffff9ac618a49000, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538603c8, 0xffff9ac6538603c8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 1480, 592, { 0xffff9ac6538603f8, 0xffff9ac6538603f8 } }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860418, 0xffff9ac653860418 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860430, 0xffff9ac653860430 } }, { 1 }, { 0 }, 0x0 }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860460, 0xffff9ac653860460 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 11384, 0xffff9ac653860000, {} }, 0xffff9ac5764e0000, 9, 9, 512, 0, 627585233783221890, 14188352787665702174, { 15800, 11432, { 0xffff9ac6538604f8, 0xffff9ac6538604f8 } }, { 15800, 11448, { 0xffff9ac653860518, 0xffff9ac653860518 } }, 0xffff9ac5e5662a00, 4, { 0, 0x0, 0x0, 0, B_FALSE, 0x0, 0 }, { 0, 0x0, 0x0, 0, B_FALSE, 0x0, 0 }, 0xffff9ac616fee680, 61, 0, 249, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538605c8, 0xffff9ac6538605c8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0xffff9ac618a49000, 62, 128, 1, 1, 0, 0xffff9ac647852400, 0xffff9ac47a9bfa08, 0x0 }, { { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860628, 0xffff9ac653860628 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffff9ac653860658, 0xffff9ac653860658 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860678, 0xffff9ac653860678 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffff9ac6538606a8, 0xffff9ac6538606a8 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538606c8, 0xffff9ac6538606c8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffff9ac6538606f8, 0xffff9ac6538606f8 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860718, 0xffff9ac653860718 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 144, 128, { 0xffff9ac653860748, 0xffff9ac653860748 } } } }, { { 144, 242, 241, 167, 165, 91, 236, 121, 228, 81, 133, 86, 112, 169, 239, 134, 204, 182, 222, 87, 11, 61, 148, 9, 78, 173, 19, 253, 117, 136, 6, 184 } }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860788, 0xffff9ac653860788 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, {}, { 12235020, 5000, 249, 15871353990467969697, 1678731761, { { { { 1, 239589 } } }, 9226476022604496903, {}, 0, 249, 50, { { 40441827631, 4279632404698, 229752974238664, 8344914455449193 } } }, 5000, 2703026705, 0, 0, 0, 0, 0, 0 }, { 12235020, 5000, 249, 15871353990467969697, 1678731761, { { { { 1, 239589 } } }, 9226476022604496903, {}, 0, 249, 50, { { 40441827631, 4279632404698, 229752974238664, 8344914455449193 } } }, 5000, 2703026705, 0, 0, 0, 0, 0, 0 }, B_FALSE, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860a08, 0xffff9ac653860a08 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, SPA_TYPE_OBJECT_STORE, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860a50, 0xffff9ac653860a50 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860a68, 0xffff9ac653860a68 } }, { 1 }, { 0 }, 0x0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, B_FALSE, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860ad0, 0xffff9ac653860ad0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860b10, 0xffff9ac653860b10 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860b28, 0xffff9ac653860b28 } }, { 1 }, { 0 }, 0x0 }, 0, 0, 0, 0, { 0, 18446744073709551615, 18446744073709551615, 0, 0, 0, 0 }, 0x0, { 0, 0, 0 }, 0x0, 0xffff9ac646b55200, 0, { 0, 0 }, 0xffff9ac646b54e00, 0x0, { 0x0, 0xffffffffc06659d0, 32, 0 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860c28, 0xffff9ac653860c28 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 0x0, 0xffffffffc063ae10, 1984, 0 }, { 0, 0, 0 }, { 64, 48, { 0xffff9ac653860c90, 0xffff9ac653860c90 } }, 0, 0xffff9ac646b54000, 0xffff9ac659315200, 0, { 0x0, 0x0, 0x0, B_FALSE, B_FALSE }, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860d40, 0xffff9ac653860d40 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860d80, 0xffff9ac653860d80 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 0x0, 0xffffffffc064d6a0, 40, 0 }, { 0x0, 0xffffffffc064d6a0, 40, 0 }, { 0x0, 0xffffffffc064d6a0, 40, 0 }, 1, 60, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860e20, 0xffff9ac653860e20 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860e58, 0xffff9ac653860e58 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0, 0, 1, { 24, 0, { 0xffff9ac614eb2160, 0xffff9ac614eb2160 } }, 0xffff9ac4c9eeb0f0, 0x0, { 0xffff9ac543cb2c70, 0xffff9ac5ee3598b0, 0xffff9ac54ecf8000, 0xffff9ac5af513b40 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653860f00, 0xffff9ac653860f00 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860f30, 0xffff9ac653860f30 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653860f48, 0xffff9ac653860f48 } }, { 1 }, { 0 }, 0x0 }, ZIO_SUSPEND_NONE, 0, B_FALSE, 11, 3, B_FALSE, SPA_LOG_UNKNOWN, 0, { 0xffffb715807db040, 0xffffb71581aa5890, 0xffffb71581a9f760, 0xffffb71581a99630, 0xffffb71581a93500, 0xffffb71581a8d3d0, 0xffffb71581a872a0, 0xffffb71581a81170, 0xffffb71581a7b040, 0xffffb715868b3890, 0xffffb715868ad760, 0xffffb715868a7630, 0xffffb715868a1500, 0xffffb7158689b3d0, 0xffffb715868952a0 }, 0, 0, 8, 576460752303423488, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861038, 0xffff9ac653861038 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861068, 0xffff9ac653861068 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653861098, 0xffff9ac653861098 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538610b0, 0xffff9ac6538610b0 } }, { 1 }, { 0 }, 0x0 }, SPA_PROC_NONE, 0xffffffffc04f77c0, 0, B_FALSE, 0, 0, 0, 52, 51, 53, 63, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861130, 0xffff9ac653861130 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0xffff9ac556f319e0, { 0, 2, 1, 0, 0, 32, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 }, 0, 0, 1596316451748, 600000000000, 300000000000, 128, AVZ_ACTION_NONE, 0, 0, { { 0, { 0xffff9ac6538612d0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538612f0, 0xffff9ac6538612f0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 112, 88, { 0xffff9ac653861320, 0xffff9ac653861320 } }, 1, 0xffffffffc066b260, 0xffffffffc066b200, 0xffffffffc066bd20, 88, { "reads", "zfs/objpool", 0xffff9ac5e5663e00, { 0xffff9ac653861808, 0xffff9ac5e5663f10 }, 0xffff9ac61c8753c0 } } }, { 100, { 0xffff9ac653861578, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861598, 0xffff9ac653861598 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 120, 96, { 0xffff9ac5fcaa3260, 0xffff9ac6009f8d60 } }, 247, 0xffffffffc066b300, 0xffffffffc066b2a0, 0xffffffffc066be10, 96, { "txgs", "zfs/objpool", 0xffff9ac5e5663e00, { 0xffff9ac576f3a7b0, 0xffff9ac653861560 }, 0xffff9ac61c8756c0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861830, 0xffff9ac653861830 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 42, 11424, 0xffff9ac576f3a400, 0xffff9ac547c68000, { 0, 0, { 0x0, 0x0 } } }, { 0, { 0xffff9ac653861890, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538618b0, 0xffff9ac6538618b0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 96, 72, { 0xffff9ac6538618e0, 0xffff9ac6538618e0 } }, 1, 0xffffffffc066b400, 0xffffffffc066b3b0, 0xffffffffc066bf10, 72, { "multihost", "zfs/objpool", 0xffff9ac5e5663e00, { 0xffff9ac5563e63b0, 0xffff9ac576f3a7b0 }, 0xffff9ac61c875c00 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861b48, 0xffff9ac653861b48 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffff9ac5563e6000, 0x0, { 0, 0, { 0x0, 0x0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861bb8, 0xffff9ac653861bb8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffff9ac62403f000, 0x0, { 0, 0, { 0x0, 0x0 } } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861c28, 0xffff9ac653861c28 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0, 0, 0xffff9ac62403c800, 0x0, { 0, 0, { 0x0, 0x0 } } } }, { { { { 0 }, { 0 }, { { 0 } }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { 0xffff9ac653861ca0, 0xffff9ac653861ca0 } }, 0x0 }, { 0x0, 0xffffffffc06051f0, 0, 0 }, { { { 0 }, { 0 }, { { 0 } }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { 0xffff9ac653861cf0, 0xffff9ac653861cf0 } }, 0x0 }, { 0x0, 0xffffffffc0605220, 0, 0 }, { { { 0 }, { 0 }, { { 0 } }, { { { { 0 }, { 0, 0 }, { 0, 0 } } } }, { 0xffff9ac653861d40, 0xffff9ac653861d40 } }, 0x0 }, { 0x0, 0xffffffffc0605240, 0, 0 } }, 0, 250, 0, 0xffff9ac600170a00, 0xffff9ac600170800, 0, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861db8, 0xffff9ac653861db8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffffb71586b33d58, 0xffffb71586b33d58 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653861e00, 0xffff9ac653861e00 } }, { 2 }, { 1 }, 0xffff9ac653861da8 }, 0xffff9ac5e3060000, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861e40, 0xffff9ac653861e40 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 884589941565, 1000000000, { 0, 0, 0, 0, 0, { {}, 0, {}, 0, 0, 0, { {} } }, 0, 0, 0, 0, 0, 0, 0, 0 }, 0x0, 1, 0, 0x0, 0, 0 }, { 15800, 15368, { 0xffff9ac547077c08, 0xffff9ac547077c08 } }, 1, 0, { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653861fc8, 0xffff9ac653861fc8 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653861ff8, 0xffff9ac653861ff8 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862010, 0xffff9ac653862010 } }, { 1 }, { 0 }, 0x0 }, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862040, 0xffff9ac653862040 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862058, 0xffff9ac653862058 } }, { 1 }, { 0 }, 0x0 }, 0, B_FALSE, 0x0, { { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538620d0, 0xffff9ac6538620d0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862110, 0xffff9ac653862110 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862128, 0xffff9ac653862128 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653862190, 0xffff9ac653862190 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538621d0, 0xffff9ac6538621d0 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538621e8, 0xffff9ac6538621e8 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653862250, 0xffff9ac653862250 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862290, 0xffff9ac653862290 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538622a8, 0xffff9ac6538622a8 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653862310, 0xffff9ac653862310 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862350, 0xffff9ac653862350 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862368, 0xffff9ac653862368 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac6538623d0, 0xffff9ac6538623d0 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 4, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862410, 0xffff9ac653862410 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862428, 0xffff9ac653862428 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653862490, 0xffff9ac653862490 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538624d0, 0xffff9ac6538624d0 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538624e8, 0xffff9ac6538624e8 } }, { 1 }, { 0 }, 0x0 } }, { { { { 0 }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { { 0 } }, { 0xffff9ac653862550, 0xffff9ac653862550 } }, { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, 0x0 }, 0x0, 0, 0, { 879052276, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac653862590, 0xffff9ac653862590 } }, { { { { { { { 0 }, { 0, 0 }, { 0, 0 } } } } } }, { 0xffff9ac6538625a8, 0xffff9ac6538625a8 } }, { 1 }, { 0 }, 0x0 } } }, { 18 }, 0xffff9ac55a328200 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print -rs b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print -rs index 1f50ad21..afc4b191 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print -rs +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | deref | print -rs @@ -1 +1,3 @@ { .spa_name = "objpool", .spa_comment = 0x0, .spa_avl = { .avl_child = {}, .avl_pcb = 18446632775413022985 }, .spa_config = 0xffff9ac65c473fa0, .spa_config_syncing = 0x0, .spa_config_splitting = 0x0, .spa_load_info = 0xffff9ac616feeb60, .spa_config_txg = 4, .spa_sync_pass = 0, .spa_state = POOL_STATE_ACTIVE, .spa_inject_ref = 0, .spa_sync_on = 1, .spa_load_state = SPA_LOAD_NONE, .spa_indirect_vdevs_loaded = B_TRUE, .spa_trust_config = B_TRUE, .spa_is_splitting = B_FALSE, .spa_config_source = SPA_CONFIG_SRC_NONE, .spa_import_flags = 0, .spa_zio_taskq = { [0] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543de20 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543dcc8 } }, [1] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac645636af0 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac6456365d8 } }, [2] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543ddf8 }, [1] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543da20 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac6456365c0 }, [3] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543d758 } }, [3] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac645636a98 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac645636cb8 } }, [4] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543d8d8 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543d9f8 } }, [5] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac645636728 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac645636188 } }, [6] = { [0] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543df68 }, [2] = { .stqs_count = 1, .stqs_taskq = 0xffff9ac64543dbe8 } } }, .spa_dsl_pool = 0xffff9ac48f0a8000, .spa_is_initializing = B_FALSE, .spa_is_exporting = B_FALSE, .spa_normal_class = 0xffff9ac559f74800, .spa_object_store_class = 0xffff9ac559f77c00, .spa_log_class = 0xffff9ac610619400, .spa_embedded_log_class = 0xffff9ac61061b400, .spa_special_class = 0xffff9ac60523e000, .spa_dedup_class = 0xffff9ac49990ec00, .spa_first_txg = 4, .spa_final_txg = 18446744073709551615, .spa_freeze_txg = 18446744073709551615, .spa_load_max_txg = 18446744073709551615, .spa_claim_max_txg = 0, .spa_loaded_ts = { .tv_sec = 0, .tv_nsec = 0 }, .spa_meta_objset = 0xffff9ac618a49000, .spa_evicting_os_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538603c8, .prev = 0xffff9ac6538603c8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_evicting_os_list = { .list_size = 1480, .list_offset = 592, .list_head = { .next = 0xffff9ac6538603f8, .prev = 0xffff9ac6538603f8 } }, .spa_evicting_os_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860418, .prev = 0xffff9ac653860418 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860430, .prev = 0xffff9ac653860430 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_vdev_txg_list = { .tl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860460, .prev = 0xffff9ac653860460 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .tl_offset = 11384, .tl_spa = 0xffff9ac653860000, .tl_head = {} }, .spa_root_vdev = 0xffff9ac5764e0000, .spa_min_ashift = 9, .spa_max_ashift = 9, .spa_min_alloc = 512, .spa_config_guid = 0, .spa_load_guid = 627585233783221890, .spa_last_synced_guid = 14188352787665702174, .spa_config_dirty_list = { .list_size = 15800, .list_offset = 11432, .list_head = { .next = 0xffff9ac6538604f8, .prev = 0xffff9ac6538604f8 } }, .spa_state_dirty_list = { .list_size = 15800, .list_offset = 11448, .list_head = { .next = 0xffff9ac653860518, .prev = 0xffff9ac653860518 } }, .spa_allocs = 0xffff9ac5e5662a00, .spa_alloc_count = 4, .spa_spares = { .sav_object = 0, .sav_config = 0x0, .sav_vdevs = 0x0, .sav_count = 0, .sav_sync = B_FALSE, .sav_pending = 0x0, .sav_npending = 0 }, .spa_l2cache = { .sav_object = 0, .sav_config = 0x0, .sav_vdevs = 0x0, .sav_count = 0, .sav_sync = B_FALSE, .sav_pending = 0x0, .sav_npending = 0 }, .spa_label_features = 0xffff9ac616fee680, .spa_config_object = 61, .spa_config_generation = 0, .spa_syncing_txg = 249, .spa_deferred_bpobj = { .bpo_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538605c8, .prev = 0xffff9ac6538605c8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpo_os = 0xffff9ac618a49000, .bpo_object = 62, .bpo_epb = 128, .bpo_havecomp = 1, .bpo_havesubobj = 1, .bpo_havefreed = 0, .bpo_phys = 0xffff9ac647852400, .bpo_dbuf = 0xffff9ac47a9bfa08, .bpo_cached_dbuf = 0x0 }, .spa_free_bplist = { [0] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860628, .prev = 0xffff9ac653860628 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffff9ac653860658, .prev = 0xffff9ac653860658 } } }, [1] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860678, .prev = 0xffff9ac653860678 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffff9ac6538606a8, .prev = 0xffff9ac6538606a8 } } }, [2] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538606c8, .prev = 0xffff9ac6538606c8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffff9ac6538606f8, .prev = 0xffff9ac6538606f8 } } }, [3] = { .bpl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860718, .prev = 0xffff9ac653860718 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .bpl_list = { .list_size = 144, .list_offset = 128, .list_head = { .next = 0xffff9ac653860748, .prev = 0xffff9ac653860748 } } } }, .spa_cksum_salt = { .zcs_bytes = { [0] = 144, [1] = 242, [2] = 241, [3] = 167, [4] = 165, [5] = 91, [6] = 236, [7] = 121, [8] = 228, [9] = 81, [10] = 133, [11] = 86, [12] = 112, [13] = 169, [14] = 239, [15] = 134, [16] = 204, [17] = 182, [18] = 222, [19] = 87, [20] = 11, [21] = 61, [22] = 148, [23] = 9, [24] = 78, [25] = 173, [26] = 19, [27] = 253, [28] = 117, [29] = 136, [30] = 6, [31] = 184 } }, .spa_cksum_tmpls_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860788, .prev = 0xffff9ac653860788 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_cksum_tmpls = {}, .spa_ubsync = { .ub_magic = 12235020, .ub_version = 5000, .ub_txg = 249, .ub_guid_sum = 15871353990467969697, .ub_timestamp = 1678731761, .ub_rootbp = { .blk_dva = { [0] = { .dva_word = { [0] = 1, [1] = 239589 } } }, .blk_prop = 9226476022604496903, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 249, .blk_fill = 50, .blk_cksum = { .zc_word = { [0] = 40441827631, [1] = 4279632404698, [2] = 229752974238664, [3] = 8344914455449193 } } }, .ub_software_version = 5000, .ub_mmp_magic = 2703026705, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0, .ub_dp_mos_used_delta = 0, .ub_dp_mos_compressed_delta = 0, .ub_dp_mos_uncompressed_delta = 0 }, .spa_uberblock = { .ub_magic = 12235020, .ub_version = 5000, .ub_txg = 249, .ub_guid_sum = 15871353990467969697, .ub_timestamp = 1678731761, .ub_rootbp = { .blk_dva = { [0] = { .dva_word = { [0] = 1, [1] = 239589 } } }, .blk_prop = 9226476022604496903, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 249, .blk_fill = 50, .blk_cksum = { .zc_word = { [0] = 40441827631, [1] = 4279632404698, [2] = 229752974238664, [3] = 8344914455449193 } } }, .ub_software_version = 5000, .ub_mmp_magic = 2703026705, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0, .ub_dp_mos_used_delta = 0, .ub_dp_mos_compressed_delta = 0, .ub_dp_mos_uncompressed_delta = 0 }, .spa_extreme_rewind = B_FALSE, .spa_scrub_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860a08, .prev = 0xffff9ac653860a08 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_scrub_inflight = 0, .spa_pool_type = SPA_TYPE_OBJECT_STORE, .spa_load_verify_bytes = 0, .spa_scrub_io_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860a50, .prev = 0xffff9ac653860a50 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860a68, .prev = 0xffff9ac653860a68 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_scrub_active = 0, .spa_scrub_type = 0, .spa_scrub_finished = 0, .spa_scrub_started = 0, .spa_scrub_reopen = 0, .spa_scan_pass_start = 0, .spa_scan_pass_scrub_pause = 0, .spa_scan_pass_scrub_spent_paused = 0, .spa_scan_pass_exam = 0, .spa_scan_pass_issued = 0, .spa_resilver_deferred = B_FALSE, .spa_async_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860ad0, .prev = 0xffff9ac653860ad0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_async_thread = 0x0, .spa_async_suspended = 0, .spa_async_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860b10, .prev = 0xffff9ac653860b10 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860b28, .prev = 0xffff9ac653860b28 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_async_tasks = 0, .spa_missing_tvds = 0, .spa_missing_tvds_allowed = 0, .spa_nonallocating_dspace = 0, .spa_removing_phys = { .sr_state = 0, .sr_removing_vdev = 18446744073709551615, .sr_prev_indirect_vdev = 18446744073709551615, .sr_start_time = 0, .sr_end_time = 0, .sr_to_copy = 0, .sr_copied = 0 }, .spa_vdev_removal = 0x0, .spa_condensing_indirect_phys = { .scip_vdev = 0, .scip_prev_obsolete_sm_object = 0, .scip_next_mapping_object = 0 }, .spa_condensing_indirect = 0x0, .spa_condense_zthr = 0xffff9ac646b55200, .spa_checkpoint_txg = 0, .spa_checkpoint_info = { .sci_timestamp = 0, .sci_dspace = 0 }, .spa_checkpoint_discard_zthr = 0xffff9ac646b54e00, .spa_syncing_log_sm = 0x0, .spa_sm_logs_by_txg = { .avl_root = 0x0, .avl_compar = spa_log_sm_sort_by_txg+0x0 = 0xffffffffc06659d0, .avl_offset = 32, .avl_numnodes = 0 }, .spa_flushed_ms_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860c28, .prev = 0xffff9ac653860c28 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_metaslabs_by_flushed = { .avl_root = 0x0, .avl_compar = metaslab_sort_by_flushed+0x0 = 0xffffffffc063ae10, .avl_offset = 1984, .avl_numnodes = 0 }, .spa_unflushed_stats = { .sus_memused = 0, .sus_blocklimit = 0, .sus_nblocks = 0 }, .spa_log_summary = { .list_size = 64, .list_offset = 48, .list_head = { .next = 0xffff9ac653860c90, .prev = 0xffff9ac653860c90 } }, .spa_log_flushall_txg = 0, .spa_livelist_delete_zthr = 0xffff9ac646b54000, .spa_livelist_condense_zthr = 0xffff9ac659315200, .spa_livelists_to_delete = 0, .spa_to_condense = { .ds = 0x0, .first = 0x0, .next = 0x0, .syncing = B_FALSE, .cancelled = B_FALSE }, .spa_root = 0x0, .spa_ena = 0, .spa_last_open_failed = 0, .spa_last_ubsync_txg = 0, .spa_last_ubsync_txg_ts = 0, .spa_load_txg = 0, .spa_load_txg_ts = 0, .spa_load_meta_errors = 0, .spa_load_data_errors = 0, .spa_verify_min_txg = 0, .spa_errlog_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860d40, .prev = 0xffff9ac653860d40 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_errlog_last = 0, .spa_errlog_scrub = 0, .spa_errlist_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860d80, .prev = 0xffff9ac653860d80 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_errlist_last = { .avl_root = 0x0, .avl_compar = spa_error_entry_compare+0x0 = 0xffffffffc064d6a0, .avl_offset = 40, .avl_numnodes = 0 }, .spa_errlist_scrub = { .avl_root = 0x0, .avl_compar = spa_error_entry_compare+0x0 = 0xffffffffc064d6a0, .avl_offset = 40, .avl_numnodes = 0 }, .spa_errlist_healed = { .avl_root = 0x0, .avl_compar = spa_error_entry_compare+0x0 = 0xffffffffc064d6a0, .avl_offset = 40, .avl_numnodes = 0 }, .spa_deflate = 1, .spa_history = 60, .spa_history_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860e20, .prev = 0xffff9ac653860e20 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_pending_vdev = 0x0, .spa_props_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860e58, .prev = 0xffff9ac653860e58 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_pool_props_object = 0, .spa_bootfs = 0, .spa_failmode = 0, .spa_deadman_failmode = 0, .spa_delegation = 1, .spa_config_list = { .list_size = 24, .list_offset = 0, .list_head = { .next = 0xffff9ac614eb2160, .prev = 0xffff9ac614eb2160 } }, .spa_async_zio_root = 0xffff9ac4c9eeb0f0, .spa_suspend_zio_root = 0x0, .spa_txg_zio = { [0] = 0xffff9ac543cb2c70, [1] = 0xffff9ac5ee3598b0, [2] = 0xffff9ac54ecf8000, [3] = 0xffff9ac5af513b40 }, .spa_suspend_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653860f00, .prev = 0xffff9ac653860f00 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_suspend_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860f30, .prev = 0xffff9ac653860f30 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653860f48, .prev = 0xffff9ac653860f48 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_suspended = ZIO_SUSPEND_NONE, .spa_claiming = 0, .spa_is_root = B_FALSE, .spa_minref = 11, .spa_mode = 3, .spa_read_spacemaps = B_FALSE, .spa_log_state = SPA_LOG_UNKNOWN, .spa_autoexpand = 0, .spa_ddt = { [0] = 0xffffb715807db040, [1] = 0xffffb71581aa5890, [2] = 0xffffb71581a9f760, [3] = 0xffffb71581a99630, [4] = 0xffffb71581a93500, [5] = 0xffffb71581a8d3d0, [6] = 0xffffb71581a872a0, [7] = 0xffffb71581a81170, [8] = 0xffffb71581a7b040, [9] = 0xffffb715868b3890, [10] = 0xffffb715868ad760, [11] = 0xffffb715868a7630, [12] = 0xffffb715868a1500, [13] = 0xffffb7158689b3d0, [14] = 0xffffb715868952a0 }, .spa_ddt_stat_object = 0, .spa_dedup_dspace = 0, .spa_dedup_checksum = 8, .spa_dspace = 576460752303423488, .spa_vdev_top_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861038, .prev = 0xffff9ac653861038 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_proc_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861068, .prev = 0xffff9ac653861068 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_proc_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653861098, .prev = 0xffff9ac653861098 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538610b0, .prev = 0xffff9ac6538610b0 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_proc_state = SPA_PROC_NONE, .spa_proc = p0+0x0 = 0xffffffffc04f77c0, .spa_did = 0, .spa_autoreplace = B_FALSE, .spa_vdev_locks = 0, .spa_creation_version = 0, .spa_prev_software_version = 0, .spa_feat_for_write_obj = 52, .spa_feat_for_read_obj = 51, .spa_feat_desc_obj = 53, .spa_feat_enabled_txg_obj = 63, .spa_feat_stats_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861130, .prev = 0xffff9ac653861130 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_feat_stats = 0xffff9ac556f319e0, .spa_feat_refcount_cache = { [1] = 2, [2] = 1, [5] = 32, [6] = 1, [7] = 2, [8] = 1, [16] = 2, [18] = 2, [22] = 1, [35] = 1, [37] = 1 }, .spa_deadman_tqid = 0, .spa_deadman_calls = 0, .spa_sync_starttime = 1596316451748, .spa_deadman_synctime = 600000000000, .spa_deadman_ziotime = 300000000000, .spa_all_vdev_zaps = 128, .spa_avz_action = AVZ_ACTION_NONE, .spa_autotrim = 0, .spa_errata = 0, .spa_stats = { .read_history = { .size = 0, .procfs_list = { .pl_private = 0xffff9ac6538612d0, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538612f0, .prev = 0xffff9ac6538612f0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 112, .list_offset = 88, .list_head = { .next = 0xffff9ac653861320, .prev = 0xffff9ac653861320 } }, .pl_next_id = 1, .pl_show = spa_read_history_show+0x0 = 0xffffffffc066b260, .pl_show_header = spa_read_history_show_header+0x0 = 0xffffffffc066b200, .pl_clear = spa_read_history_clear+0x0 = 0xffffffffc066bd20, .pl_node_offset = 88, .pl_kstat_entry = { .kpe_name = "reads", .kpe_module = "zfs/objpool", .kpe_owner = 0xffff9ac5e5663e00, .kpe_list = { .next = 0xffff9ac653861808, .prev = 0xffff9ac5e5663f10 }, .kpe_proc = 0xffff9ac61c8753c0 } } }, .txg_history = { .size = 100, .procfs_list = { .pl_private = 0xffff9ac653861578, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861598, .prev = 0xffff9ac653861598 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 120, .list_offset = 96, .list_head = { .next = 0xffff9ac5fcaa3260, .prev = 0xffff9ac6009f8d60 } }, .pl_next_id = 247, .pl_show = spa_txg_history_show+0x0 = 0xffffffffc066b300, .pl_show_header = spa_txg_history_show_header+0x0 = 0xffffffffc066b2a0, .pl_clear = spa_txg_history_clear+0x0 = 0xffffffffc066be10, .pl_node_offset = 96, .pl_kstat_entry = { .kpe_name = "txgs", .kpe_module = "zfs/objpool", .kpe_owner = 0xffff9ac5e5663e00, .kpe_list = { .next = 0xffff9ac576f3a7b0, .prev = 0xffff9ac653861560 }, .kpe_proc = 0xffff9ac61c8756c0 } } }, .tx_assign_histogram = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861830, .prev = 0xffff9ac653861830 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 42, .size = 11424, .kstat = 0xffff9ac576f3a400, .priv = 0xffff9ac547c68000, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .mmp_history = { .size = 0, .procfs_list = { .pl_private = 0xffff9ac653861890, .pl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538618b0, .prev = 0xffff9ac6538618b0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .pl_list = { .list_size = 96, .list_offset = 72, .list_head = { .next = 0xffff9ac6538618e0, .prev = 0xffff9ac6538618e0 } }, .pl_next_id = 1, .pl_show = spa_mmp_history_show+0x0 = 0xffffffffc066b400, .pl_show_header = spa_mmp_history_show_header+0x0 = 0xffffffffc066b3b0, .pl_clear = spa_mmp_history_clear+0x0 = 0xffffffffc066bf10, .pl_node_offset = 72, .pl_kstat_entry = { .kpe_name = "multihost", .kpe_module = "zfs/objpool", .kpe_owner = 0xffff9ac5e5663e00, .kpe_list = { .next = 0xffff9ac5563e63b0, .prev = 0xffff9ac576f3a7b0 }, .kpe_proc = 0xffff9ac61c875c00 } } }, .state = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861b48, .prev = 0xffff9ac653861b48 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffff9ac5563e6000, .priv = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .guid = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861bb8, .prev = 0xffff9ac653861bb8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffff9ac62403f000, .priv = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } }, .iostats = { .lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861c28, .prev = 0xffff9ac653861c28 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .count = 0, .size = 0, .kstat = 0xffff9ac62403c800, .priv = 0x0, .list = { .list_size = 0, .list_offset = 0, .list_head = { .next = 0x0, .prev = 0x0 } } } }, .spa_keystore = { .sk_dk_lock = { .rw_rwlock = { .count = { .counter = 0 }, .owner = { .counter = 0 }, .osq = { .tail = { .counter = 0 } }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .wait_list = { .next = 0xffff9ac653861ca0, .prev = 0xffff9ac653861ca0 } }, .rw_owner = 0x0 }, .sk_dsl_keys = { .avl_root = 0x0, .avl_compar = spa_crypto_key_compare+0x0 = 0xffffffffc06051f0, .avl_offset = 0, .avl_numnodes = 0 }, .sk_km_lock = { .rw_rwlock = { .count = { .counter = 0 }, .owner = { .counter = 0 }, .osq = { .tail = { .counter = 0 } }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .wait_list = { .next = 0xffff9ac653861cf0, .prev = 0xffff9ac653861cf0 } }, .rw_owner = 0x0 }, .sk_key_mappings = { .avl_root = 0x0, .avl_compar = spa_key_mapping_compare+0x0 = 0xffffffffc0605220, .avl_offset = 0, .avl_numnodes = 0 }, .sk_wkeys_lock = { .rw_rwlock = { .count = { .counter = 0 }, .owner = { .counter = 0 }, .osq = { .tail = { .counter = 0 } }, .wait_lock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } }, .wait_list = { .next = 0xffff9ac653861d40, .prev = 0xffff9ac653861d40 } }, .rw_owner = 0x0 }, .sk_wkeys = { .avl_root = 0x0, .avl_compar = spa_wkey_compare+0x0 = 0xffffffffc0605240, .avl_offset = 0, .avl_numnodes = 0 } }, .spa_lowmem_page_load = 0, .spa_lowmem_last_txg = 250, .spa_ccw_fail_time = 0, .spa_zvol_taskq = 0xffff9ac600170a00, .spa_prefetch_taskq = 0xffff9ac600170800, .spa_multihost = 0, .spa_mmp = { .mmp_thread_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861db8, .prev = 0xffff9ac653861db8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .mmp_thread_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffffb71586b33d58, .prev = 0xffffb71586b33d58 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653861e00, .prev = 0xffff9ac653861e00 } }, .cv_refs = { .counter = 2 }, .cv_waiters = { .counter = 1 }, .cv_mutex = 0xffff9ac653861da8 }, .mmp_thread = 0xffff9ac5e3060000, .mmp_thread_exiting = 0, .mmp_io_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861e40, .prev = 0xffff9ac653861e40 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .mmp_last_write = 884589941565, .mmp_delay = 1000000000, .mmp_ub = { .ub_magic = 0, .ub_version = 0, .ub_txg = 0, .ub_guid_sum = 0, .ub_timestamp = 0, .ub_rootbp = { .blk_dva = {}, .blk_prop = 0, .blk_pad = {}, .blk_phys_birth = 0, .blk_birth = 0, .blk_fill = 0, .blk_cksum = { .zc_word = {} } }, .ub_software_version = 0, .ub_mmp_magic = 0, .ub_mmp_delay = 0, .ub_mmp_config = 0, .ub_checkpoint_txg = 0, .ub_dp_mos_used_delta = 0, .ub_dp_mos_compressed_delta = 0, .ub_dp_mos_uncompressed_delta = 0 }, .mmp_zio_root = 0x0, .mmp_kstat_id = 1, .mmp_skip_error = 0, .mmp_last_leaf = 0x0, .mmp_leaf_last_gen = 0, .mmp_seq = 0 }, .spa_leaf_list = { .list_size = 15800, .list_offset = 15368, .list_head = { .next = 0xffff9ac547077c08, .prev = 0xffff9ac547077c08 } }, .spa_leaf_list_gen = 1, .spa_hostid = 0, .spa_activities_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653861fc8, .prev = 0xffff9ac653861fc8 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .spa_activities_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653861ff8, .prev = 0xffff9ac653861ff8 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862010, .prev = 0xffff9ac653862010 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_waiters_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862040, .prev = 0xffff9ac653862040 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862058, .prev = 0xffff9ac653862058 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 }, .spa_waiters = 0, .spa_waiters_cancel = B_FALSE, .spa_compatibility = 0x0, .spa_config_lock = { [0] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538620d0, .prev = 0xffff9ac6538620d0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862110, .prev = 0xffff9ac653862110 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862128, .prev = 0xffff9ac653862128 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [1] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653862190, .prev = 0xffff9ac653862190 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538621d0, .prev = 0xffff9ac6538621d0 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538621e8, .prev = 0xffff9ac6538621e8 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [2] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653862250, .prev = 0xffff9ac653862250 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862290, .prev = 0xffff9ac653862290 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538622a8, .prev = 0xffff9ac6538622a8 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [3] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653862310, .prev = 0xffff9ac653862310 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862350, .prev = 0xffff9ac653862350 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862368, .prev = 0xffff9ac653862368 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [4] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac6538623d0, .prev = 0xffff9ac6538623d0 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 4, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862410, .prev = 0xffff9ac653862410 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862428, .prev = 0xffff9ac653862428 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [5] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653862490, .prev = 0xffff9ac653862490 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538624d0, .prev = 0xffff9ac6538624d0 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538624e8, .prev = 0xffff9ac6538624e8 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } }, [6] = { .scl_lock = { .m_mutex = { .owner = { .counter = 0 }, .wait_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .osq = { .tail = { .counter = 0 } }, .wait_list = { .next = 0xffff9ac653862550, .prev = 0xffff9ac653862550 } }, .m_lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .m_owner = 0x0 }, .scl_writer = 0x0, .scl_write_wanted = 0, .scl_count = 0, .scl_cv = { .cv_magic = 879052276, .cv_event = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac653862590, .prev = 0xffff9ac653862590 } }, .cv_destroy = { .lock = { .rlock = { .raw_lock = { .val = { .counter = 0 }, .locked = 0, .pending = 0, .locked_pending = 0, .tail = 0 } } }, .head = { .next = 0xffff9ac6538625a8, .prev = 0xffff9ac6538625a8 } }, .cv_refs = { .counter = 1 }, .cv_waiters = { .counter = 0 }, .cv_mutex = 0x0 } } }, .spa_refcount = { .rc_count = 18 }, .spa_upgrade_taskq = 0xffff9ac55a328200 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print index 67bafad1..1d0f974d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print @@ -1 +1,3 @@ (char)98 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -c b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -c index b3d0ad8b..1542d4f4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -c +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -c @@ -1 +1,3 @@ (char)'b' +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -cr b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -cr index 0bdc348b..c8d8c72c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -cr +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_name[1] | print -cr @@ -1 +1,3 @@ 'b' +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq index 0d39611a..e239383a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq @@ -1 +1,3 @@ (taskq_t **)0xffff9ac64543de20 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] index 0ca7c37f..9b528554 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | head 1 | member spa_zio_taskq[0][0].stqs_taskq[0] @@ -1 +1,3 @@ (taskq_t *)0xffff9ac5e566ca00 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync->ub_rootbp b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync->ub_rootbp index e641dffd..a2b5fe74 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync->ub_rootbp +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync->ub_rootbp @@ -1 +1,3 @@ sdb: member: 'typedef struct uberblock uberblock_t' is a struct - use the dot(.) notation for member access +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.bogus b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.bogus index fe86be8f..9d1f7a65 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.bogus +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.bogus @@ -1 +1,3 @@ sdb: member: 'uberblock_t' has no member 'bogus' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word index 5cd5ecb2..db3432e7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_ubsync.ub_rootbp.blk_dva[0].dva_word @@ -1,3 +1,5 @@ (uint64_t [2]){ 1, 239589 } (uint64_t [2]){ 1, 40551803 } (uint64_t [2]){ 1, 12298524 } +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array index 852eba97..d92d9b55 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array @@ -1 +1,3 @@ sdb: array: 'taskq_t **' is a pointer - please specify the number of elements +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 index 7991bd22..6fbdb04d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq | array 2 @@ -4,3 +4,5 @@ (taskq_t *)0x656c6269736976 (taskq_t *)0xffff9ac47de67400 (taskq_t *)0xffff9ac47de67a00 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> index 643f596c..ebc45236 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq-> @@ -1 +1,3 @@ sdb: member: no identifier specified after -> +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq. b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq. index bb6f90a3..d8615951 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq. +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | member spa_zio_taskq[0][0].stqs_taskq. @@ -1 +1,3 @@ sdb: member: no identifier specified after . +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | range_tree b/tests/integration/data/regression_output/dump.202303131823/core/spa | range_tree index 91a26850..16b41ebb 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | range_tree +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | range_tree @@ -1 +1,3 @@ sdb: range_tree: expected input of type range_tree_t *, but received type spa_t * +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/spa | vdev | metaslab | deref | sizeof | sum b/tests/integration/data/regression_output/dump.202303131823/core/spa | vdev | metaslab | deref | sizeof | sum index a9405f35..9cf99661 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/spa | vdev | metaslab | deref | sizeof | sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/spa | vdev | metaslab | deref | sizeof | sum @@ -1 +1,3 @@ (uint64_t)352240 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/sum b/tests/integration/data/regression_output/dump.202303131823/core/sum index 8d8f8e43..4d8c136a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/sum @@ -1 +1,3 @@ (uint64_t)0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" "b/tests/integration/data/regression_output/dump.202303131823/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" index ab7ddfc3..4f793a3a 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" +++ "b/tests/integration/data/regression_output/dump.202303131823/core/thread | filter \"obj.comm == \\\"bogus\\\"\" | thread" @@ -1,2 +1,4 @@ task state pid prio comm cmdline ---- ----- --- ---- ---- ------- +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/threads | deref | sizeof | sum b/tests/integration/data/regression_output/dump.202303131823/core/threads | deref | sizeof | sum index bb06e18b..e01ef0a7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/threads | deref | sizeof | sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/threads | deref | sizeof | sum @@ -1 +1,3 @@ (uint64_t)10495680 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/threads | sizeof | sum b/tests/integration/data/regression_output/dump.202303131823/core/threads | sizeof | sum index d0eb10c5..93d9fc97 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/threads | sizeof | sum +++ b/tests/integration/data/regression_output/dump.202303131823/core/threads | sizeof | sum @@ -1 +1,3 @@ (uint64_t)9048 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter '== obj' b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter '== obj' index ea6dd70c..79cf39bf 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter '== obj' +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter '== obj' @@ -1 +1,3 @@ sdb: filter: invalid input: left hand side of expression is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj ==' b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj ==' index 2777a82e..b65b0e49 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj ==' +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj ==' @@ -1 +1,3 @@ sdb: filter: invalid input: right hand side of expression is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj' b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj' index fc761b9b..aea4edcc 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj' +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | filter 'obj' @@ -1 +1,3 @@ sdb: filter: invalid input: comparison operator is missing +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array index db595c85..28d8529b 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array @@ -1 +1,3 @@ sdb: array: zero-length array: please specify number of elements +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 index 8ffe77c2..6d6f0339 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array -1 @@ -1 +1,3 @@ warning: operating on zero-length array +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 index 8ffe77c2..6d6f0339 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 0 @@ -1 +1,3 @@ warning: operating on zero-length array +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 index 1c57f972..a8c7eabf 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg | array 2 @@ -1,3 +1,5 @@ warning: operating on zero-length array (char)115 (char)112 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg[2] b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg[2] index 0b6bad36..46a8bb57 100644 --- a/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg[2] +++ b/tests/integration/data/regression_output/dump.202303131823/core/zfs_dbgmsg | head 1 | member zdm_msg[2] @@ -1,2 +1,4 @@ warning: member: index out of bounds for array of type 'char []' (requested index: 2) (char)97 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * index 24d3c12c..680a3717 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of bogus_type comm | cast void * @@ -1 +1,3 @@ sdb: container_of: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of int comm | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of int comm | cast void * index 7329f422..d4c8f381 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of int comm | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of int comm | cast void * @@ -1 +1,3 @@ sdb: container_of: int is not a struct nor a typedef to a struct +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of pid comm | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of pid comm | cast void * index 9f234c7b..c8ba3d04 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of pid comm | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of pid comm | cast void * @@ -1 +1,3 @@ sdb: container_of: 'struct pid' has no member 'comm' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * index 9e574ce9..988cbf9e 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct bogus_member | cast void * @@ -1 +1,3 @@ sdb: container_of: 'struct task_struct' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * index 331994d4..d4412306 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | addr | container_of task_struct comm | cast void * @@ -1 +1,3 @@ (void *)init_task+0x0 = 0xffffffff9bc13780 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | container_of task_struct comm | cast void * b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | container_of task_struct comm | cast void * index 66ad8f29..28ed1471 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | container_of task_struct comm | cast void * +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member comm | container_of task_struct comm | cast void * @@ -1 +1,3 @@ sdb: container_of: container_of() argument must be a pointer, not 'char [16]' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm index 93c7930d..b64800bb 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist bogus_type pid_links[3] | member comm @@ -1 +1,3 @@ sdb: lxhlist: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm index d6aa6382..049cddaa 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct bogus_member | member comm @@ -1 +1,3 @@ sdb: lxhlist: 'struct task_struct' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm index a5ea5f2e..6592ee5a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr init_task | member thread_pid.tasks[3] | lxhlist task_struct pid_links[3] | member comm @@ -708,3 +708,5 @@ (char [16])"rcu_par_gp" (char [16])"rcu_gp" (char [16])"kthreadd" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist bogus_type list | member name b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist bogus_type list | member name index a0dcea05..17012b4c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist bogus_type list | member name +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist bogus_type list | member name @@ -1 +1,3 @@ sdb: lxlist: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module bogus_member | member name b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module bogus_member | member name index f6627ead..ec39ce86 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module bogus_member | member name +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module bogus_member | member name @@ -1 +1,3 @@ sdb: lxlist: 'struct module' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module list | member name b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module list | member name index f78828be..3a1fde27 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module list | member name +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr modules | lxlist module list | member name @@ -65,3 +65,5 @@ (char [56])"ena" (char [56])"i2c_piix4" (char [56])"i2c_core" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr spa_namespace_avl | cpu_counter_sum b/tests/integration/data/regression_output/dump.202303131823/linux/addr spa_namespace_avl | cpu_counter_sum index 8faabf08..136368da 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr spa_namespace_avl | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr spa_namespace_avl | cpu_counter_sum @@ -1 +1,3 @@ sdb: cpu_counter_sum: input is not a percpu_counter +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_orphan_count | cpu_counter_sum b/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_orphan_count | cpu_counter_sum index 4ec5ed45..ff9fcd9c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_orphan_count | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_orphan_count | cpu_counter_sum @@ -1 +1,3 @@ (s64)0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_sockets_allocated | cpu_counter_sum b/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_sockets_allocated | cpu_counter_sum index 43c1478c..f370835a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_sockets_allocated | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr tcp_sockets_allocated | cpu_counter_sum @@ -1 +1,3 @@ (s64)164 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr vm_committed_as | cpu_counter_sum b/tests/integration/data/regression_output/dump.202303131823/linux/addr vm_committed_as | cpu_counter_sum index 370bb7a7..49173656 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr vm_committed_as | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr vm_committed_as | cpu_counter_sum @@ -1 +1,3 @@ (s64)1058735 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree bogus_type rb_node b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree bogus_type rb_node index 0e236835..4c4f4edf 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree bogus_type rb_node +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree bogus_type rb_node @@ -1 +1,3 @@ sdb: rbtree: couldn't find typedef, struct, enum, nor union named 'bogus_type' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area bogus_member b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area bogus_member index 384d99f7..760cbe96 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area bogus_member +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area bogus_member @@ -1 +1,3 @@ sdb: rbtree: 'struct vmap_area' has no member 'bogus_member' +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area rb_node b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area rb_node index b17fb067..4a96aa94 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area rb_node +++ b/tests/integration/data/regression_output/dump.202303131823/linux/addr vmap_area_root | rbtree vmap_area rb_node @@ -2788,3 +2788,5 @@ (struct vmap_area *)0xffff9ac6452cecc0 (struct vmap_area *)0xffff9ac6452ce340 (struct vmap_area *)0xffff9ac64c760b80 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread b/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread index 305df3fa..cbbd6514 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread +++ b/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread @@ -18,3 +18,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x57 entry_SYSCALL_64+0x94 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread | stacks b/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread | stacks index 305df3fa..cbbd6514 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread | stacks +++ b/tests/integration/data/regression_output/dump.202303131823/linux/crashed_thread | stacks @@ -18,3 +18,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x57 entry_SYSCALL_64+0x94 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/dbuf |head 1 |deref |member db_buf |whatis b/tests/integration/data/regression_output/dump.202303131823/linux/dbuf |head 1 |deref |member db_buf |whatis index 2ccb8833..90a1aa3f 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/dbuf |head 1 |deref |member db_buf |whatis +++ b/tests/integration/data/regression_output/dump.202303131823/linux/dbuf |head 1 |deref |member db_buf |whatis @@ -1 +1,3 @@ 0xffff9ac5afd51380 is allocated from arc_buf_t +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg index b3f5039a..531837ca 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg +++ b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg @@ -612,3 +612,5 @@ Yy [ 1598.156735]: R10: 0000557540e13017 R11: 0000000000000246 R12: 0000000000000002 [ 1598.163456]: R13: 00007f1e15b766a0 R14: 00007f1e15b724a0 R15: 00007f1e15b718a0 [ 1598.171192]: disable async PF for cpu 1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | filter 'obj.level == 3' | dmesg b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | filter 'obj.level == 3' | dmesg index 208fe510..e02be277 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | filter 'obj.level == 3' | dmesg +++ b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | filter 'obj.level == 3' | dmesg @@ -1,2 +1,4 @@ [ 2.310155]: ena 0000:00:05.0: LLQ is not supported Fallback to host mode policy.SUBSYSTEM=pci [ 42.095750]: db_root: cannot open: /etc/target +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | pp b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | pp index b3f5039a..531837ca 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | pp +++ b/tests/integration/data/regression_output/dump.202303131823/linux/dmesg | pp @@ -612,3 +612,5 @@ Yy [ 1598.156735]: R10: 0000557540e13017 R11: 0000000000000246 R12: 0000000000000002 [ 1598.163456]: R13: 00007f1e15b766a0 R14: 00007f1e15b724a0 R15: 00007f1e15b718a0 [ 1598.171192]: disable async PF for cpu 1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/echo 0x0 | cpu_counter_sum b/tests/integration/data/regression_output/dump.202303131823/linux/echo 0x0 | cpu_counter_sum index c4445251..665b1dbe 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/echo 0x0 | cpu_counter_sum +++ b/tests/integration/data/regression_output/dump.202303131823/linux/echo 0x0 | cpu_counter_sum @@ -1 +1,3 @@ sdb: cpu_counter_sum: invalid memory access: could not read memory from kdump: Cannot get page I/O address: PDPT table not present: p4d[0] = 0x0: 0x8 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/echo 0xffffa089669edc00 | stack b/tests/integration/data/regression_output/dump.202303131823/linux/echo 0xffffa089669edc00 | stack index c845069d..cb15a40d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/echo 0xffffa089669edc00 | stack +++ b/tests/integration/data/regression_output/dump.202303131823/linux/echo 0xffffa089669edc00 | stack @@ -1,3 +1,5 @@ TASK_STRUCT STATE COUNT ========================================== sdb: stack: invalid memory access: could not read memory from kdump: Cannot get page I/O address: PDPT table not present: p4d[321] = 0x0: 0xffffa089669edc10 +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 index 3831c5d8..569bf14d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 @@ -1 +1,3 @@ (struct task_struct *)0xffff9ac6605e5b80 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 index aed9b1c8..096feea7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 @@ -1,2 +1,4 @@ (struct task_struct *)0xffff9ac6605e5b80 (struct task_struct *)0xffff9ac6605e0000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 | member comm b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 | member comm index 6812d697..4bfcd37a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 | member comm +++ b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 2 | member comm @@ -1,2 +1,4 @@ (char [16])"systemd" (char [16])"kthreadd" +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 index 23cf47dd..033922d5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 @@ -1,2 +1,4 @@ (struct file *)0xffff9ac65e957500 (struct file *)0xffff9ac65edad900 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 123123 b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 123123 index 3a142982..fab187da 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 123123 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/find_task 1 | fget 1 4 123123 @@ -1,3 +1,5 @@ (struct file *)0xffff9ac65e957500 (struct file *)0xffff9ac65edad900 (struct file *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 b/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 index 860e387e..7d241361 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 @@ -1 +1,3 @@ (struct pid *)0xffff9ac660552000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 10 12437 b/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 10 12437 index 816b53e7..12ddee79 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 10 12437 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/pid 1 10 12437 @@ -1,3 +1,5 @@ (struct pid *)0xffff9ac660552000 (struct pid *)0xffff9ac660552980 (struct pid *)0x0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs b/tests/integration/data/regression_output/dump.202303131823/linux/slabs index b052f88f..b05c4ad5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs @@ -176,3 +176,5 @@ dm_uevent 2632 0 0.0B 0.0B ddt_entry_cache 448 0 0.0B 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -o bogus b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -o bogus index 3e2248bc..a328a38a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -o bogus +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -o bogus @@ -1 +1,3 @@ sdb: slabs: 'bogus' is not a valid field +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o active_objs,util,name b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o active_objs,util,name index c76bc9f8..47aada0e 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o active_objs,util,name +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o active_objs,util,name @@ -176,3 +176,5 @@ active_objs util name 0 0 ddt_entry_cache 0 0 arc_buf_hdr_t_l2only 0 0 arc_buf_hdr_t_full_crypt +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o util b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o util index d60d1f31..17443d39 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o util +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s active_objs -o util @@ -1 +1,3 @@ sdb: slabs: invalid input: 'active_objs' is not in field set (util) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s bogus b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s bogus index 2cfb68ba..f0187c6c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s bogus +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s bogus @@ -1,2 +1,4 @@ sdb: slabs: invalid input: 'bogus' is not in field set (name, entry_size, active_objs, active_memory, total_memory, util) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util index 59b4d3bd..eca15708 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util @@ -176,3 +176,5 @@ dm_uevent 2632 0 0.0B 0.0B ddt_entry_cache 448 0 0.0B 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util | slabs b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util | slabs index b052f88f..b05c4ad5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util | slabs +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -s util | slabs @@ -176,3 +176,5 @@ dm_uevent 2632 0 0.0B 0.0B ddt_entry_cache 448 0 0.0B 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -v b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -v index 267695a0..85027830 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs -v +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs -v @@ -176,3 +176,5 @@ 0xffff9ac65af281c0 ddt_entry_cache 448 448 18 0 0.0B 0.0B 0 0 0 0 0xffff9ac6590fea80 sio_cache_2 168 168 24 0 0.0B 0.0B 0 0 0 0 0xffff9ac64d67a000 nfs_direct_cache 224 224 18 0 0.0B 0.0B 0 0 0 0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" index 95574348..2658ef27 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"UNIX\"' | slub_cache | count" @@ -1 +1,3 @@ (unsigned long long)0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" index ce15dc73..0639b611 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | head 6056 | tail 1| cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" @@ -2,3 +2,5 @@ DVA[0]=<0:0x50ad98800:0x600> [L0 ZFS plain file] fletcher4 lzjb layer=0 unencrypted LE contiguous unique single size=0xa00L/0x600P birth=691L/691P fill=1 cksum=0x50b2435bac:0x4877d83d80e7:0x259e03cbed157d:0xe4d625e1f14d8cc +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" index 9083aad7..37ee7ae9 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"dnode_t\"' |walk | tail 8 | head 1 | cast dnode_t * | deref |member dn_phys |member dn_blkptr[0] |blkptr" @@ -2,3 +2,5 @@ DVA[0]=<0:0xe01bd200:0x2e00> [L0 ZFS plain file] fletcher4 lzjb layer=0 unencrypted LE contiguous unique single size=0x8e00L/0x2e00P birth=25L/25P fill=1 cksum=0x2b4705c4d19:0xe6eacc837fede:0x3376b31cb9e47ade:0x6759b6b5446e1229 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" index e2780f01..c270e165 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffff9ac679634040 (struct kmem_cache_cpu *)0xffff9ac679734040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" index e71bd4a1..dac93f7b 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0" @@ -1 +1,3 @@ (struct kmem_cache_cpu *)0xffff9ac679634040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" index e2780f01..c270e165 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 1" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffff9ac679634040 (struct kmem_cache_cpu *)0xffff9ac679734040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" index 83d568f3..5cdfb12e 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 0 2 1" @@ -1,2 +1,4 @@ (struct kmem_cache_cpu *)0xffff9ac679634040 sdb: percpu: available CPUs [0-1] - requested CPU 2 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" index b177717d..61f76b9b 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 1" @@ -1 +1,3 @@ (struct kmem_cache_cpu *)0xffff9ac679734040 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" index d0d383d4..5dafe9ae 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 100" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 100 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" index 7058ca61..12f36d85 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 2" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 2 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" index e4a9c1fd..e2a9449b 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"kmalloc-8\"' | member cpu_slab | percpu 3" @@ -1 +1,3 @@ sdb: percpu: available CPUs [0-1] - requested CPU 3 +@#$ EXIT CODE $#@ +1 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" index c072cc46..187f6e75 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache" @@ -1605,3 +1605,5 @@ (void *)0xffff9ac65dbec520 (void *)0xffff9ac65dbeca10 (void *)0xffff9ac65dbed3f0 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" index f73b69b5..40a3d96d 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | cast zio_t * | member io_spa.spa_name" @@ -1605,3 +1605,5 @@ (char [256])"testpool" (char [256])"testpool" (char [256])"testpool" +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" index 58d9392e..221b5da7 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | slub_cache | count" @@ -1 +1,3 @@ (unsigned long long)1607 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" index c072cc46..187f6e75 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | filter 'obj.name == \"zio_cache\"' | walk" @@ -1605,3 +1605,5 @@ (void *)0xffff9ac65dbec520 (void *)0xffff9ac65dbeca10 (void *)0xffff9ac65dbed3f0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | head 2 | slabs b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | head 2 | slabs index 005a661d..1bd91df7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | head 2 | slabs +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | head 2 | slabs @@ -2,3 +2,5 @@ name entry_size active_objs active_memory total_memory uti -------------------------- ---------- ----------- ------------- ------------ ---- vdev_object_store_io_cache 32 4608 144.0KB 144.0KB 100 ext4_groupinfo_4k 144 84 11.8KB 11.8KB 100 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | pp b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | pp index b052f88f..b05c4ad5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/slabs | pp +++ b/tests/integration/data/regression_output/dump.202303131823/linux/slabs | pp @@ -176,3 +176,5 @@ dm_uevent 2632 0 0.0B 0.0B ddt_entry_cache 448 0 0.0B 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks b/tests/integration/data/regression_output/dump.202303131823/linux/stacks index d1b61511..d5160b81 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks @@ -898,3 +898,5 @@ TASK_STRUCT STATE COUNT kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -a b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -a index ecc213ae..ff5218bb 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -a +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -a @@ -1961,3 +1961,5 @@ TASK_STRUCT STATE kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c bogus b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c bogus index b548356e..a9a071da 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c bogus +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c bogus @@ -1 +1,3 @@ sdb: stacks: symbol 'bogus' does not exist +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c spa_sync b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c spa_sync index 772c9087..a3655220 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c spa_sync +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -c spa_sync @@ -17,3 +17,5 @@ TASK_STRUCT STATE COUNT kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus index 5f410b10..ddf82d7c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus @@ -1 +1,3 @@ sdb: stacks: module 'bogus' doesn't exist or isn't currently loaded +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus | count b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus | count index 5f410b10..ddf82d7c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus | count +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m bogus | count @@ -1 +1,3 @@ sdb: stacks: module 'bogus' doesn't exist or isn't currently loaded +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs index a979d453..a080a198 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs @@ -305,3 +305,5 @@ TASK_STRUCT STATE COUNT kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c spa_sync b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c spa_sync index 772c9087..a3655220 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c spa_sync +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c spa_sync @@ -17,3 +17,5 @@ TASK_STRUCT STATE COUNT kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c zthr_procedure b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c zthr_procedure index 0f0ce78f..8e4a0816 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c zthr_procedure +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs -c zthr_procedure @@ -37,3 +37,5 @@ TASK_STRUCT STATE COUNT kthread+0x104 ret_from_fork+0x1f +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs | count b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs | count index 391c5fdd..bb3b7f32 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs | count +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -m zfs | count @@ -1 +1,3 @@ (unsigned long long)44 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -t bogus b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -t bogus index 8e3d2a79..fe8bb1ec 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/stacks -t bogus +++ b/tests/integration/data/regression_output/dump.202303131823/linux/stacks -t bogus @@ -1 +1,3 @@ sdb: stacks: 'bogus' is not a valid task state (acceptable states: RUNNING, INTERRUPTIBLE, UNINTERRUPTIBLE, STOPPED, TRACED, DEAD, ZOMBIE, PARKED, IDLE) +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/thread b/tests/integration/data/regression_output/dump.202303131823/linux/thread index ecfe18c8..5212d915 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/thread +++ b/tests/integration/data/regression_output/dump.202303131823/linux/thread @@ -1131,3 +1131,5 @@ task state pid prio comm cmdline 0xffff9ac6607f9e80 INTERRUPTIBLE 10101 100 z_cl_int 0xffff9ac6607fbd00 IDLE 77 100 blkcg_punt_bio 0xffff9ac6607fdb80 IDLE 80 100 edac-poller +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/threads b/tests/integration/data/regression_output/dump.202303131823/linux/threads index ecfe18c8..5212d915 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/threads +++ b/tests/integration/data/regression_output/dump.202303131823/linux/threads @@ -1131,3 +1131,5 @@ task state pid prio comm cmdline 0xffff9ac6607f9e80 INTERRUPTIBLE 10101 100 z_cl_int 0xffff9ac6607fbd00 IDLE 77 100 blkcg_punt_bio 0xffff9ac6607fdb80 IDLE 80 100 edac-poller +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/threads | count b/tests/integration/data/regression_output/dump.202303131823/linux/threads | count index 263cae8b..e48e3630 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/threads | count +++ b/tests/integration/data/regression_output/dump.202303131823/linux/threads | count @@ -1 +1,3 @@ (unsigned long long)1131 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | stack" "b/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | stack" index 5ce5da43..696fa82a 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | stack" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | stack" @@ -14,3 +14,5 @@ TASK_STRUCT STATE COUNT do_syscall_64+0x57 entry_SYSCALL_64+0x94 +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | threads" "b/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | threads" index 889b16b1..586fcb18 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | threads" +++ "b/tests/integration/data/regression_output/dump.202303131823/linux/threads | filter 'obj.comm == \"java\"' | threads" @@ -4,3 +4,5 @@ task state pid prio comm cmdline 0xffff9ac5d4160000 INTERRUPTIBLE 5807 120 java 0xffff9ac611970000 INTERRUPTIBLE 4474 120 java 0xffff9ac611975b80 INTERRUPTIBLE 4776 120 java +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xf987kkbbh b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xf987kkbbh index 69470daf..22bd8502 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xf987kkbbh +++ b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xf987kkbbh @@ -1 +1,3 @@ 0xf987kkbbh is not a valid address +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffff b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffff index dfa6cea3..a166b230 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffff +++ b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffff @@ -1 +1,3 @@ 0xffff does not map to a kmem_cache +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 index 304c7fa0..28103df0 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa0888c766000 0xffffa089407ca870 @@ -1,2 +1,4 @@ 0xffffa0888c766000 does not map to a kmem_cache 0xffffa089407ca870 does not map to a kmem_cache +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa089407ca870 b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa089407ca870 index 28bcd9a2..ccdb832d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa089407ca870 +++ b/tests/integration/data/regression_output/dump.202303131823/linux/whatis 0xffffa089407ca870 @@ -1 +1,3 @@ 0xffffa089407ca870 does not map to a kmem_cache +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head b/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head index 2ce8ab90..7a0d59a4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head +++ b/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | multilist | head @@ -1 +1,3 @@ sdb: addr: symbol not found: arc_mru +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | walk | head b/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | walk | head index 2ce8ab90..7a0d59a4 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | walk | head +++ b/tests/integration/data/regression_output/dump.202303131823/spl/addr arc_mru | member [0].arcs_list[1] | walk | head @@ -1 +1,3 @@ sdb: addr: symbol not found: arc_mru +@#$ EXIT CODE $#@ +1 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | avl b/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | avl index 5523ccd2..a8a078b6 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | avl +++ b/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | avl @@ -1,3 +1,5 @@ (void *)0xffff9ac653860000 (void *)0xffff9ac658924000 (void *)0xffff9ac546d38000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | walk b/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | walk index 5523ccd2..a8a078b6 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | walk +++ b/tests/integration/data/regression_output/dump.202303131823/spl/addr spa_namespace_avl | walk @@ -1,3 +1,5 @@ (void *)0xffff9ac653860000 (void *)0xffff9ac658924000 (void *)0xffff9ac546d38000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | spl_list b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | spl_list index 2b01a022..8a500423 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | spl_list +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | spl_list @@ -1,3 +1,5 @@ (void *)0xffff9ac614eb2160 (void *)0xffff9ac659107880 (void *)0xffff9ac5b061c5a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | walk b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | walk index 2b01a022..8a500423 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | walk +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_config_list | walk @@ -1,3 +1,5 @@ (void *)0xffff9ac614eb2160 (void *)0xffff9ac659107880 (void *)0xffff9ac5b061c5a0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | spl_list b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | spl_list index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | spl_list +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | spl_list @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | walk b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | walk index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | walk +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_evicting_os_list | walk @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist index b6a44013..958e47ba 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | multilist @@ -46,3 +46,5 @@ (void *)0xffff9ac546198000 (void *)0xffff9ac5a26f9000 (void *)0xffff9ac48f0ac000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk index b6a44013..958e47ba 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spa | member spa_normal_class.mc_metaslab_txg_list | walk @@ -46,3 +46,5 @@ (void *)0xffff9ac546198000 (void *)0xffff9ac5a26f9000 (void *)0xffff9ac48f0ac000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches index 7a8ba4bd..c61e2a83 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches @@ -81,3 +81,5 @@ kcf_context_cache 64 0 0.0B kcf_con ddt_entry_cache 448 0 0.0B ddt_entry_cache[SLUB] 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B arc_buf_hdr_t_l2only[SLUB] 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B arc_buf_hdr_t_full_crypt[SLUB] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,entry_size -s entry_size b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,entry_size -s entry_size index c8d768cc..1d896fe9 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,entry_size -s entry_size +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,entry_size -s entry_size @@ -81,3 +81,5 @@ kcf_context_cache 64 zio_link_cache 48 vdev_object_store_io_cache 32 arc_buf_t 32 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,source b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,source index ed9812be..84dc04f7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,source +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -o name,source @@ -81,3 +81,5 @@ zio_buf_comb_917504 zio_buf_comb_917504[SPL ] zio_buf_comb_98304 zio_buf_comb_98304[SPL ] zio_cache zio_cache[SLUB] zio_link_cache zio_link_cache[SLUB] +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size index 21b5db9c..f5faa28d 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size @@ -81,3 +81,5 @@ kcf_context_cache 64 0 0.0B kcf_con zio_link_cache 48 1649 77.3KB zio_link_cache[SLUB] 274.9KB 28 vdev_object_store_io_cache 32 0 0.0B vdev_object_store_io_cache[SLUB] 144.0KB 0 arc_buf_t 32 8485 265.2KB arc_buf_t[SLUB] 1.3MB 20 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches index 3224eeda..8df628ec 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -s entry_size | head 4 | spl_kmem_caches @@ -4,3 +4,5 @@ zio_buf_comb_16777216 16785408 0 0.0B zio_buf_comb_16777216 zio_buf_comb_14680064 14686208 0 0.0B zio_buf_comb_14680064[SPL ] 0.0B 0 zio_buf_comb_12582912 12589056 0 0.0B zio_buf_comb_12582912[SPL ] 0.0B 0 zio_buf_comb_10485760 10491221 0 0.0B zio_buf_comb_10485760[SPL ] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -v b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -v index 432fb4dc..7af44673 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -v +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches -v @@ -81,3 +81,5 @@ 0xffff9ac65a470400 zio_buf_comb_14336 KMC_NODEBUG|KMC_SLAB 14336 16384 0 0 0 0 0 0.0B 320.0KB 0 0 0 zio_buf_comb_14336[SLUB] 0 0xffff9ac65a470200 zio_buf_comb_8192 KMC_NODEBUG|KMC_SLAB 8192 8192 0 0 0 0 0 0.0B 288.0KB 0 0 0 zio_buf_comb_8192[SLUB] 0 0xffff9ac55a329200 vdev_object_store_io_cache KMC_SLAB 32 32 0 0 0 0 0 0.0B 144.0KB 0 0 0 vdev_object_store_io_cache[SLUB] 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache index d233ee65..05f083c8 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache @@ -6547,3 +6547,5 @@ (void *)0xffffb715cb495000 (void *)0xffffb715cb4b6000 (void *)0xffffb715cb4d7000 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt index c76be57d..e27e9b52 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache == 0' | spl_cache | cnt @@ -1 +1,3 @@ (unsigned long long)6549 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_linux_cache > 0' | filter 'obj.skc_obj_alloc > 0' | head 1 | spl_cache @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git "a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" "b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" index aa74bf38..de7a5f5f 100644 --- "a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" +++ "b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | filter 'obj.skc_name == \"ddt_cache\"' | walk" @@ -46,3 +46,5 @@ (void *)0xffffb715807c7630 (void *)0xffffb715807cd760 (void *)0xffffb715807d3890 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | pp b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | pp index 7a8ba4bd..c61e2a83 100644 --- a/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | pp +++ b/tests/integration/data/regression_output/dump.202303131823/spl/spl_kmem_caches | pp @@ -81,3 +81,5 @@ kcf_context_cache 64 0 0.0B kcf_con ddt_entry_cache 448 0 0.0B ddt_entry_cache[SLUB] 0.0B 0 arc_buf_hdr_t_l2only 96 0 0.0B arc_buf_hdr_t_l2only[SLUB] 0.0B 0 arc_buf_hdr_t_full_crypt 336 0 0.0B arc_buf_hdr_t_full_crypt[SLUB] 0.0B 0 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/arc b/tests/integration/data/regression_output/dump.202303131823/zfs/arc index 88bd9cea..847213ef 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/arc +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/arc @@ -134,3 +134,5 @@ arcstat_sys_free = 962914304 arcstat_raw_size = 0 arcstat_cached_only_in_progress = 0 arcstat_abd_chunk_waste_size = 96038912 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf index 98600793..d8684ed5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf @@ -8469,3 +8469,5 @@ 0xffff9ac55ba7c620 0 0 88 29 rpool/ROOT/delphix.i4TlGPg/data 0xffff9ac5b0d06f50 128 1 83 41 testpool/testfs 0xffff9ac55c898ab8 128 1 17 19 testpool/testfs +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf -l 1 b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf -l 1 index ba7734d0..cdc005de 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf -l 1 +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf -l 1 @@ -242,3 +242,5 @@ 0xffff9ac48fc35260 2 1 30 20 objpool/testfs 0xffff9ac5b0d06f50 128 1 83 41 testpool/testfs 0xffff9ac55c898ab8 128 1 17 19 testpool/testfs +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 index ba7734d0..cdc005de 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 @@ -242,3 +242,5 @@ 0xffff9ac48fc35260 2 1 30 20 objpool/testfs 0xffff9ac5b0d06f50 128 1 83 41 testpool/testfs 0xffff9ac55c898ab8 128 1 17 19 testpool/testfs +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 | head | dbuf b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 | head | dbuf index 3ce8ea86..22552626 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 | head | dbuf +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | dbuf -l 1 | head | dbuf @@ -9,3 +9,5 @@ 0xffff9ac5b8f0ec40 128 1 52 23 testpool/testfs 0xffff9ac65ec9f3e8 2019 1 0 2 rpool/ROOT/delphix.i4TlGPg/data 0xffff9ac4c66ffa08 128 1 7 19 testpool/testfs +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | head 1 | member db_blkptr | blkptr b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | head 1 | member db_blkptr | blkptr index 69863e70..8fe3f80e 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | head 1 | member db_blkptr | blkptr +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/dbuf | head 1 | member db_blkptr | blkptr @@ -2,3 +2,5 @@ DVA[0]=<0:0x103207c00:0x2e00> [L0 ZFS plain file] fletcher4 lz4 layer=0 unencrypted LE contiguous unique single size=0x20000L/0x2e00P birth=1197L/1197P fill=1 cksum=0x5df05f0e3e3:0x229afb5d03e237:0x83ffb2e325a9e23a:0xbed1657fea4bbdb8 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa b/tests/integration/data/regression_output/dump.202303131823/zfs/spa index 0244701a..b1c0f127 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa @@ -3,3 +3,5 @@ ADDR NAME 0xffff9ac653860000 objpool 0xffff9ac658924000 rpool 0xffff9ac546d38000 testpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -H b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -H index 7d8af492..ab7bc9a7 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -H +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -H @@ -28,3 +28,5 @@ ADDR NAME 128.0MB: 22 256.0MB: 15 Approx. Median: 108.2MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -mH b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -mH index 042381ed..34e1ed04 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -mH +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -mH @@ -930,3 +930,5 @@ ADDR NAME 64.0MB: 0 128.0MB: 1 Approx. Median: 3.6MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -v b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -v index e6f071a8..05744e83 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -v +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -v @@ -16,3 +16,5 @@ ADDR NAME 0xffff9ac5ac2ac000 HEALTHY NONE root 0xffff9ac55ced0000 HEALTHY NONE /dev/nvme1n1p1 0xffff9ac4b0574000 HEALTHY NONE /dev/nvme2n1p1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vH b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vH index 3a5d52f4..3476ef36 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vH +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vH @@ -89,3 +89,5 @@ ADDR NAME 128.0MB: 12 256.0MB: 7 Approx. Median: 99.5MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vm b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vm index 1d1c47fd..dc03f3c5 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vm +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vm @@ -194,3 +194,5 @@ ADDR NAME 0xffff9ac5ae5ad000 12 0x180000000 508MB 7% 4KB 0xffff9ac5ae5af000 13 0x1a0000000 413MB 14% 28KB 0xffff9ac5ae5ae000 14 0x1c0000000 484MB 18% 4KB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vmH b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vmH index 042381ed..34e1ed04 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vmH +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa -vmH @@ -930,3 +930,5 @@ ADDR NAME 64.0MB: 0 128.0MB: 1 Approx. Median: 3.6MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | member spa_normal_class.mc_histogram | zfs_histogram @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_allocatable.rt_histogram | zhist @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 index e69de29b..77f91668 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa data | vdev | metaslab | filter 'obj.ms_loaded == 1' | head 1 | member ms_sm.sm_phys.smp_histogram | zhist 9 @@ -0,0 +1,2 @@ +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa rpool b/tests/integration/data/regression_output/dump.202303131823/zfs/spa rpool index e8555b47..e05b55de 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa rpool +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa rpool @@ -1,3 +1,5 @@ ADDR NAME ------------------------------------------------------------ 0xffff9ac658924000 rpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr index 16f89329..4b91a367 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | deref |member spa_uberblock | member ub_rootbp | blkptr @@ -2,3 +2,5 @@ DVA[0]=<0:0x74fca00:0x200> [L0 DMU objset] fletcher4 lz4 layer=0 unencrypted LE contiguous unique single size=0x1000L/0x200P birth=249L/249P fill=50 cksum=0x96a85512f:0x3e46df820da:0xd0f5886a63c8:0x1da5a7cdcc4e69 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | spa b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | spa index e89b0a7a..57bbb282 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | spa +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | head 1 | spa @@ -1,3 +1,5 @@ ADDR NAME ------------------------------------------------------------ 0xffff9ac653860000 objpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | pp b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | pp index 0244701a..b1c0f127 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | pp +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | pp @@ -3,3 +3,5 @@ ADDR NAME 0xffff9ac653860000 objpool 0xffff9ac658924000 rpool 0xffff9ac546d38000 testpool +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev index 65c671ce..69c4ce3c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev @@ -7,3 +7,5 @@ 0xffff9ac5ac2ac000 HEALTHY NONE root 0xffff9ac55ced0000 HEALTHY NONE /dev/nvme1n1p1 0xffff9ac4b0574000 HEALTHY NONE /dev/nvme2n1p1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab index efc2ce6a..7b84c961 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab @@ -170,3 +170,5 @@ 0xffff9ac5ae5ad000 12 0x180000000 508MB 7% 4KB 0xffff9ac5ae5af000 13 0x1a0000000 413MB 14% 28KB 0xffff9ac5ae5ae000 14 0x1c0000000 484MB 18% 4KB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab -w b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab -w index 10f59d14..2d32f4d9 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab -w +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab -w @@ -170,3 +170,5 @@ 12 - L SEGMENT 7% 3M (0.6%) 128MB 1 x 128MB 13 - L SEGMENT 14% 98M (19.2%) 210MB 2 x 128MB 14 - L SEGMENT 18% 27M (5.4%) 137MB 1 x 128MB +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree index 59776ce6..c6b5ea03 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable | range_tree @@ -2464,3 +2464,5 @@ sdb: _: invalid memory access: could not read memory from kdump: Cannot get page [0x288200000 0x2bf358800) (length 0x37158800) [0x21e200000 0x2bf358a00) (length 0xa1158a00) [0x296a00000 0x2bf358a00) (length 0x28958a00) +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree index 8fff8b87..9f5d8b64 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | metaslab | member ms_allocatable.rt_root | zfs_btree @@ -2294,3 +2294,5 @@ (void *)0xffff9ac5efbc6818 (void *)0xffff9ac5efbc6820 (void *)0xffff9ac5efbc6828 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | pp b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | pp index 65c671ce..69c4ce3c 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | pp +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/spa | vdev | pp @@ -7,3 +7,5 @@ 0xffff9ac5ac2ac000 HEALTHY NONE root 0xffff9ac55ced0000 HEALTHY NONE /dev/nvme1n1p1 0xffff9ac4b0574000 HEALTHY NONE /dev/nvme2n1p1 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg b/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg index b70ec3b0..057a4ead 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg @@ -1502,3 +1502,5 @@ vdev_removal.c:1675:spa_vdev_remove_thread(): copying 5 segments for metaslab 10 vdev_object_store.c:783:agent_free_blocks_impl(): agent_free_blocks freed 1351 blocks vdev_object_store.c:1031:agent_end_txg(): agent_end_txg(249), 2 passes vdev_removal.c:1675:spa_vdev_remove_thread(): copying 155 segments for metaslab 11 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg b/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg index d0d60891..f5930e41 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/zfs_dbgmsg | tail 5 | zfs_dbgmsg @@ -3,3 +3,5 @@ vdev_removal.c:1675:spa_vdev_remove_thread(): copying 5 segments for metaslab 10 vdev_object_store.c:783:agent_free_blocks_impl(): agent_free_blocks freed 1351 blocks vdev_object_store.c:1031:agent_end_txg(): agent_end_txg(249), 2 passes vdev_removal.c:1675:spa_vdev_remove_thread(): copying 155 segments for metaslab 11 +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/zio b/tests/integration/data/regression_output/dump.202303131823/zfs/zio index 135e78b2..67f2bcbd 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/zio +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/zio @@ -29,3 +29,5 @@ 0xffff9ac658ca1da0 NULL OPEN - - 0xffff9ac658ca3650 NULL OPEN - - 0xffff9ac65d8aa290 NULL CHECKSUM_VERIFY 0xffff9ac6085b9e80 - +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/data/regression_output/dump.202303131823/zfs/zio -r b/tests/integration/data/regression_output/dump.202303131823/zfs/zio -r index f70c30be..dbf9281a 100644 --- a/tests/integration/data/regression_output/dump.202303131823/zfs/zio -r +++ b/tests/integration/data/regression_output/dump.202303131823/zfs/zio -r @@ -1677,3 +1677,5 @@ 0xffff9ac65d8aa290 NULL CHECKSUM_VERIFY 0xffff9ac6085b9e80 - 0xffff9ac61baf4520 READ VDEV_IO_START - - 0xffff9ac5b4cd6ca0 READ VDEV_IO_START - 91ms +@#$ EXIT CODE $#@ +0 diff --git a/tests/integration/gen_regression_output.py b/tests/integration/gen_regression_output.py index dadef017..8817d390 100644 --- a/tests/integration/gen_regression_output.py +++ b/tests/integration/gen_regression_output.py @@ -18,16 +18,22 @@ # pylint: disable=missing-function-docstring import argparse +import cProfile -from tests.integration.infra import generate_known_regression_output +from tests.integration.infra import generate_regression_output def main() -> None: parser = argparse.ArgumentParser( description="Generate regression output for test-suite") - parser.add_argument('dump_name') + parser.add_argument('--profile', + action='store_true', + help='run with cProfile to identify bottlenecks') args = parser.parse_args() - generate_known_regression_output(args.dump_name) + if args.profile: + cProfile.run('generate_regression_output()') + else: + generate_regression_output() if __name__ == '__main__': diff --git a/tests/integration/infra.py b/tests/integration/infra.py index 98aa3408..39ff9f5e 100644 --- a/tests/integration/infra.py +++ b/tests/integration/infra.py @@ -24,7 +24,7 @@ from contextlib import redirect_stdout from importlib import import_module from pathlib import Path -from typing import Iterable, List, Optional +from typing import Any, Callable, List, Optional, Tuple import drgn import sdb @@ -33,236 +33,362 @@ THIS_DIR = os.path.dirname(os.path.realpath(__file__)) DATA_DIR = f"{THIS_DIR}/data" +DUMPS_DIR = f"{DATA_DIR}/dumps" TEST_OUTPUT_DIR = f"{DATA_DIR}/regression_output" # OS Crash Dump Related Path/Prefixes -CRASH_PREFIX = f"{DATA_DIR}/dump.*" -MODS_DIR = f"{DATA_DIR}/usr" -ALTERNATIVE_MODS_DIR = f"{DATA_DIR}/mods" -VMLINUX_PREFIX = f"{DATA_DIR}/vmlinux-*" +CRASH_PREFIX = f"{DUMPS_DIR}/dump.*" +MODS_DIR = "usr" +ALTERNATIVE_MODS_DIR = "mods" +VMLINUX_PREFIX = "vmlinux-*" # Userland Core Dump -UCORE_PREFIX = f"{DATA_DIR}/core.*" -LIBS_PATH = f"{DATA_DIR}/lib" -LIBS64_PATH = f"{DATA_DIR}/lib64" -LIBS_DEBUG_PATH = f"{DATA_DIR}/usr" -EXEC_DIR = f"{DATA_DIR}/bin" -ALTERNATIVE_EXEC_DIR = f"{DATA_DIR}/sbin" +UCORE_PREFIX = f"{DUMPS_DIR}/archive-core.*" +LIBS_PATH = "lib" +LIBS64_PATH = "lib64" +LIBS_DEBUG_PATH = "usr" +EXEC_DIR = "bin" +ALTERNATIVE_EXEC_DIR = "sbin" +EXPORT_DIR = "export" -def get_path_from_prefix(prefix: str) -> Optional[str]: +def get_all_dump_dir_paths() -> List[str]: """ - Helper for finding required files by dump type. + Returns all the discovered dump directories under the data/dumps folder. """ - res = glob.glob(prefix) - if len(res) == 1: - return res[0] - assert len(res) == 0 - return None + return get_crash_dump_dir_paths() + get_core_dump_dir_paths() -def get_crash_dump_path() -> Optional[str]: +def get_crash_dump_dir_paths() -> List[str]: """ - Get crash dump path as string if it exists. None otherwise. + Get crash dump directory paths as a list of strings if any exists. - Note: Besides returning the discovered path, this function is also used as + Note: Besides returning the discovered paths, this function is also used as a predicate by specific test modules from the test suite to see if they should be ran. """ - return get_path_from_prefix(CRASH_PREFIX) + return glob.glob(CRASH_PREFIX) -def get_vmlinux_path() -> Optional[str]: +def get_vmlinux_path(dump_dir_path: str) -> str: """ - Get vmlinux path as string if it exists. None otherwise. + Get vmlinux path as a string. """ - return get_path_from_prefix(VMLINUX_PREFIX) + paths = glob.glob(f"{dump_dir_path}/{VMLINUX_PREFIX}") + assert len(paths) == 1 + return paths[0] -def get_modules_dir() -> Optional[str]: +def get_modules_dir(dump_dir_path: str) -> str: """ - Get modules directory path as string if it exists. - None otherwise. + Get modules directory path as a string. """ - path = get_path_from_prefix(MODS_DIR) - if not path: - return get_path_from_prefix(ALTERNATIVE_MODS_DIR) - return path + paths = glob.glob(f"{dump_dir_path}/{MODS_DIR}") + if len(paths) == 1: + return paths[0] + assert len(paths) == 0 + + paths = glob.glob(f"{dump_dir_path}/{ALTERNATIVE_MODS_DIR}") + assert len(paths) == 1 + return paths[0] -def get_core_dump_path() -> Optional[str]: +def get_core_dump_dir_paths() -> List[str]: """ - Get core dump path as string if it exists. None otherwise. + Get core dump directory paths as list of strings if any exists. Note: Besides returning the discovered path, this function is also used as a predicate by specific test modules from the test suite to see if they should be ran. """ - return get_path_from_prefix(UCORE_PREFIX) + return glob.glob(UCORE_PREFIX) -def get_libs_path() -> Optional[str]: +def get_libs_path(dump_dir_path: str) -> Optional[str]: """ Get libraries path as string if it exists. None otherwise. """ - return get_path_from_prefix(LIBS_PATH) - - -def get_libs64_path() -> Optional[str]: - """ - Get 64-bit libraries path as string if it exists. None otherwise. - """ - return get_path_from_prefix(LIBS64_PATH) + paths = glob.glob(f"{dump_dir_path}/{LIBS_PATH}") + assert len(paths) < 2 + if len(paths) == 0: + return None + return paths[0] -def get_lib_debug_info_path() -> Optional[str]: +def get_libs64_path(dump_dir_path: str) -> Optional[str]: """ Get 64-bit libraries path as string if it exists. None otherwise. """ - return get_path_from_prefix(LIBS_DEBUG_PATH) + paths = glob.glob(f"{dump_dir_path}/{LIBS64_PATH}") + assert len(paths) < 2 + if len(paths) == 0: + return None + return paths[0] -def get_binary_dir() -> Optional[str]: +def get_lib_debug_info_path(dump_dir_path: str) -> Optional[str]: """ - Get executable binary directory path as string if it exists. - None otherwise. + Get /usr path with debug libraries as string if it exists. None otherwise. """ - path = get_path_from_prefix(EXEC_DIR) - if not path: - return get_path_from_prefix(ALTERNATIVE_EXEC_DIR) - return path + paths = glob.glob(f"{dump_dir_path}/{LIBS_DEBUG_PATH}") + assert len(paths) < 2 + if len(paths) == 0: + return None + return paths[0] -def setup_target() -> Optional[drgn.Program]: +def get_export_dir(dump_dir_path: str) -> Optional[str]: """ - Create a drgn.Program instance and setup the SDB context for all the - integration tests. If there is no OS crash or userland core to attach to - this is going to be an empty drgn.Program and integration tests will be - skipped (e.g. only unit tests will run). - """ - prog = drgn.Program() - - dump = get_crash_dump_path() - if dump: - prog.set_core_dump(dump) - assert get_vmlinux_path() - debug_info = ( - p - for p in [get_vmlinux_path(), get_modules_dir()] - if p is not None) - load_debug_info(prog, list(debug_info)) - return prog - - dump = get_core_dump_path() - if dump: - prog.set_core_dump(dump) - debug_info = (p for p in [ - get_binary_dir(), - get_libs_path(), - get_libs64_path(), - get_lib_debug_info_path() - ] if p is not None) - load_debug_info(prog, list(debug_info)) - - return prog - - -TEST_PROGRAM = setup_target() -TEST_REPL = REPL(TEST_PROGRAM, list(sdb.get_registered_commands().keys())) + Get /export path as string if it exists. None otherwise. - -def repl_invoke(cmd: str) -> int: - """ - Accepts a command/pipeline in string form and evaluates - it returning the exit code of the evaluation emulating - the SDB repl. + NOTE: This is more delphix-specific and it's there for anything that's + compiled and ran out of the home directory. """ - assert TEST_PROGRAM - sdb.target.set_prog(TEST_PROGRAM) - sdb.register_commands() - return TEST_REPL.eval_cmd(cmd) + paths = glob.glob(f"{dump_dir_path}/{EXPORT_DIR}") + assert len(paths) < 2 + if len(paths) == 0: + return None + return paths[0] -def sdb_invoke(objs: Iterable[drgn.Object], line: str) -> Iterable[drgn.Object]: +def get_binary_dir(dump_dir_path: str) -> Optional[str]: """ - Dispatch to sdb.invoke, but also drain the generator it returns, so - the tests can more easily access the returned objects. - - This method is preferred over repl_invoke() when the test wants to - do fancier checks by mocking a few objects that are later passed - down to the pipeline. Other scenarios include but are not limited - to testing that specific exceptions are thrown or analyzing internal - state of objects that is not part of the output in stdout. - """ - assert TEST_PROGRAM - sdb.target.set_prog(TEST_PROGRAM) - sdb.register_commands() - return list(sdb.invoke(objs, line)) - - -def slurp_output_file(dump_name: str, modname: str, cmd: str) -> str: - """ - Given a module name and a command, find the output file - and return all of its contents as a string. + Get executable binary directory path as string if it exists. + None otherwise. """ - # The pylint below is a false positive - # pylint: disable=unspecified-encoding - return Path(f"{TEST_OUTPUT_DIR}/{dump_name}/{modname}/{cmd}").read_text() + paths = glob.glob(f"{dump_dir_path}/{EXEC_DIR}") + if len(paths) == 1: + return paths[0] + assert len(paths) == 0 + paths = glob.glob(f"{dump_dir_path}/{ALTERNATIVE_EXEC_DIR}") + assert len(paths) < 2 + if len(paths) == 0: + return None + return paths[0] -def generate_output_for_commands(cmds: List[str], dirpath: str) -> None: - """ - Takes a list of SDB commands in string form, invokes them in the - context of the current crash dump/sdb.REPL, and stores their output - in the directory specified, each under a different file. - Note: Keep in mind that if the directory specified exists then - it will be removed together with all of its contents. +def setup_crash_dump_target(dump_dir_path: str, dump_path: str) -> drgn.Program: """ - assert TEST_PROGRAM - if os.path.exists(dirpath): - shutil.rmtree(dirpath) - os.makedirs(dirpath) - for cmd in cmds: - with open(f"{dirpath}/{cmd}", 'w', encoding="utf-8") as f: - with redirect_stdout(f): - repl_invoke(cmd) - - -def generate_output_for_test_module(dump_name: str, modname: str) -> None: - """ - Generates the regression output for all the commands of - a test module given module name. The assumption for this - to work automatically is that for the given modname "mod" - there exist a test module under test.integration named - test_mod_generic which has a list of commands in string - form called CMD_TABLE. + Create a drgn.Program instance and setup the SDB context for all the + integration tests from the given crash dump path. """ - test_mod = import_module(f"tests.integration.test_{modname}_generic") - generate_output_for_commands( - test_mod.CMD_TABLE, # type: ignore[attr-defined] - f"{TEST_OUTPUT_DIR}/{dump_name}/{modname}") - print(f"Generated regression test output for {modname}...") + prog = drgn.Program() + prog.set_core_dump(dump_path) + load_debug_info( + prog, [get_vmlinux_path(dump_dir_path), + get_modules_dir(dump_dir_path)], True, False) + return prog -def get_all_generic_test_modules() -> List[str]: +def setup_userland_core_target(dump_dir_path: str, + dump_path: str) -> drgn.Program: """ - Look at this current directory and capture all modules - with generic capsys tests whose filename follows the - 'test_{module name}_generic.py' convention. + Create a drgn.Program instance and setup the SDB context for all the + integration tests from the given userland core dump path. """ - modnames = [] - for filename in os.listdir(THIS_DIR): - m = re.search('test_(.+?)_generic.py', filename) - if m: - modnames.append(m.group(1)) - return modnames + prog = drgn.Program() + prog.set_core_dump(dump_path) + debug_info = (p for p in [ + get_lib_debug_info_path(dump_dir_path), + get_binary_dir(dump_dir_path), + get_export_dir(dump_dir_path), + get_libs_path(dump_dir_path), + get_libs64_path(dump_dir_path) + ] if p is not None) + load_debug_info(prog, list(debug_info), True, True) + return prog -def generate_known_regression_output(dump_name: str) -> None: - """ - Auto-generate the baseline regression output for all - the detected test modules in this directory. - """ - for modname in get_all_generic_test_modules(): - generate_output_for_test_module(dump_name, modname) +def removeprefix(text: str, prefix: str) -> str: + """ + NOTE: Until we no longer support Python 3.8 and older we'll use this. + """ + return text[text.startswith(prefix) and len(prefix):] + + +class RefDump: + """ + Represents a reference dump for which the test suite can run commands and + verify their output and exit code. + """ + + program: drgn.Program + repl: REPL + dump_name: str + + def __init__(self, dump_dir_path: str, + setup_func: Callable[[str, str], drgn.Program]) -> None: + """ + NOTE: This object assumes that the folder containg the reference dump has + the exact same name as the dump file itself. + """ + self.dump_dir_path = dump_dir_path + # pylint: disable=comparison-with-callable + if setup_func == setup_userland_core_target: + self.dump_name = removeprefix(os.path.basename(dump_dir_path), + "archive-") + self.is_userland = True + else: + self.dump_name = os.path.basename(dump_dir_path) + self.is_userland = False + self.dump_path = f"{self.dump_dir_path}/{self.dump_name}" + assert os.path.isfile(self.dump_path) + self.setup_func = setup_func + + def setup_target(self) -> None: + """ + Initialize all the SDB/Drgn context needed for the tests to use the + reference dump. + """ + self.program = self.setup_func(self.dump_dir_path, self.dump_path) + self.repl = REPL(self.program, + list(sdb.get_registered_commands().keys())) + + def repl_invoke(self, cmd: str) -> int: + """ + Invoke the supplied command from the SDB REPL. Returns exit code of + the command evaluation and will print any command results in stdout or + capsys (e.g. when ran by the test suite). + """ + assert self.program + assert self.repl + sdb.target.set_prog(self.program) + sdb.register_commands() + return self.repl.eval_cmd(cmd) + + def get_reference_data(self, modname: str, cmd: str) -> Tuple[str, int]: + """ + Given a module name and a command, find the output file and return a + tuple containg the expected output and exit code of the given command + for the supplied dump. + """ + contents = Path(f"{TEST_OUTPUT_DIR}/{self.dump_name}/{modname}/{cmd}" + ).read_text(encoding='utf-8').splitlines(True) + return ("".join(contents[:-2]), int(contents[-1].strip())) + + def verify_cmd_output_and_code(self, + capsys: Any, + mod: str, + cmd: str, + stripped: bool = False) -> None: + """ + Run supplied command and verify that its exit code and output match our + reference results. + """ + ref_output, ref_code = self.get_reference_data(mod, cmd) + + assert self.repl_invoke(cmd) == ref_code + captured = capsys.readouterr() + if not stripped: + assert captured.out == ref_output + else: + for i, n in enumerate(captured.out): + assert n.strip() == ref_output[i].strip() + assert len(captured.out) == len(ref_output) + + def generate_output_for_commands(self, cmds: List[str], + dirpath: str) -> None: + """ + Takes a list of SDB commands in string form, invokes them in the + context of the current sdb.REPL, and stores their output in the + directory specified, each under a different file. + + Note: Keep in mind that if the directory specified exists then + it will be removed together with all of its contents. + """ + if os.path.exists(dirpath): + shutil.rmtree(dirpath) + os.makedirs(dirpath) + for cmd in cmds: + with open(f"{dirpath}/{cmd}", 'w', encoding="utf-8") as f: + with redirect_stdout(f): + # + # All `print()` output in this block ends up in the file that + # we are writing due to `redirect_stdout()`. This includes + # whatever output is printed by `repl_invoke()`. + # + exit_code = self.repl_invoke(cmd) + print("@#$ EXIT CODE $#@") + print(f"{exit_code}") + + def generate_output_for_test_module(self, modname: str) -> None: + """ + Generates the regression output for all the commands of a test module + given module name. The assumption for this to work automatically is + that for the given modname "mod" there exist a test module under + test.integration named test_mod_generic which has a list of commands in + string form called CMD_TABLE. + """ + test_mod = import_module(f"tests.integration.test_{modname}_generic") + self.generate_output_for_commands( + test_mod.CMD_TABLE, # type: ignore[attr-defined] + f"{TEST_OUTPUT_DIR}/{self.dump_name}/{modname}") + print( + f"Generated regression test output for {self.dump_name}/{modname}..." + ) + + @staticmethod + def get_all_generic_test_modules() -> List[str]: + """ + Look at this current directory and capture all modules with generic + capsys tests whose filename follows the 'test_{module name}_generic.py' + convention. + """ + modnames = [] + for filename in os.listdir(THIS_DIR): + m = re.search('test_(.+?)_generic.py', filename) + if m: + modnames.append(m.group(1)) + return modnames + + def generate_known_regression_output(self) -> None: + """ + Iterate through all the test modules and generate reference output for + future regression test runs. + """ + for modname in self.get_all_generic_test_modules(): + if self.is_userland and modname.startswith("user_"): + self.generate_output_for_test_module(modname) + elif not self.is_userland and not modname.startswith("user_"): + self.generate_output_for_test_module(modname) + + +def get_all_reference_crash_dumps() -> List[RefDump]: + """ + Returns all discoverable kernel crash dumps as RefDump objects. + """ + rdumps = [] + for dump_dir_path in get_crash_dump_dir_paths(): + rdump = RefDump(dump_dir_path, setup_crash_dump_target) + rdump.setup_target() + rdumps.append(rdump) + return rdumps + + +def get_all_reference_core_dumps() -> List[RefDump]: + """ + Returns all discoverable userland core dumps as RefDump objects. + """ + rdumps = [] + for dump_dir_path in get_core_dump_dir_paths(): + rdump = RefDump(dump_dir_path, setup_userland_core_target) + rdump.setup_target() + rdumps.append(rdump) + return rdumps + + +def get_all_reference_dumps() -> List[RefDump]: + """ + Returns all discoverable RefDump objects (both kernel and userland dumps). + """ + return get_all_reference_crash_dumps() + get_all_reference_core_dumps() + + +def generate_regression_output() -> None: + """ + Auto-generate the baseline regression output for all the detected test + modules in this directory. + """ + for rdump in get_all_reference_dumps(): + rdump.generate_known_regression_output() diff --git a/tests/integration/test_core_generic.py b/tests/integration/test_core_generic.py index f034cf7a..9f439822 100644 --- a/tests/integration/test_core_generic.py +++ b/tests/integration/test_core_generic.py @@ -17,13 +17,10 @@ # pylint: disable=missing-module-docstring # pylint: disable=missing-function-docstring -import datetime -import re -from typing import Any, List, Tuple -import os.path +from typing import Any import pytest -from tests.integration.infra import repl_invoke, get_crash_dump_path, slurp_output_file +from tests.integration.infra import get_all_reference_crash_dumps, RefDump, get_crash_dump_dir_paths POS_CMDS_201912060006 = [ # array @@ -219,57 +216,13 @@ CMD_TABLE = POS_CMDS + NEG_CMDS + POS_CMDS_201912060006 -POS_CMDS_HISTORY = [('201912060006', POS_CMDS_201912060006)] - - -def crash_get_cmds() -> Tuple[List[str], List[str]]: - """ - Returns a tuple with the right list of commands to be tested - based on the crash dump's date. The first element of the tuple - is the list of commands we expect to succeed and the second - element the list we expect to fail. - """ - dump_path = get_crash_dump_path() - assert dump_path is not None - - dump_name = os.path.basename(dump_path) - m = re.match(r"dump.(\d+)", dump_name) - assert m is not None - - dt_str = m.group(1) - dt = datetime.datetime.strptime(dt_str, '%Y%m%d%H%M') - pos_cmds = POS_CMDS - neg_cmds = NEG_CMDS - for date_str, cmds in POS_CMDS_HISTORY: - date = datetime.datetime.strptime(date_str, '%Y%m%d%H%M') - if date < dt: - neg_cmds.extend(cmds) - else: - pos_cmds.extend(cmds) - return pos_cmds, neg_cmds - - -@pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[0]) # type: ignore[misc] -def test_cmd_output_and_error_code_0(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 0 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "core", cmd) - @pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[1]) # type: ignore[misc] -def test_cmd_output_and_error_code_1(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 1 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "core", cmd) + len(get_crash_dump_dir_paths()) == 0, + reason="couldn't find any crash/core dumps to run tests against") +@pytest.mark.parametrize('rdump', + get_all_reference_crash_dumps()) # type: ignore[misc] +@pytest.mark.parametrize('cmd', CMD_TABLE) # type: ignore[misc] +def test_cmd_output_and_error_code(capsys: Any, rdump: RefDump, + cmd: str) -> None: + rdump.verify_cmd_output_and_code(capsys, "core", cmd) diff --git a/tests/integration/test_linux_generic.py b/tests/integration/test_linux_generic.py index 98fdb625..3468e312 100644 --- a/tests/integration/test_linux_generic.py +++ b/tests/integration/test_linux_generic.py @@ -18,13 +18,10 @@ # pylint: disable=missing-function-docstring # pylint: disable=line-too-long -import datetime -import re -from typing import Any, List, Tuple -import os.path +from typing import Any, List import pytest -from tests.integration.infra import repl_invoke, get_crash_dump_path, slurp_output_file +from tests.integration.infra import get_all_reference_crash_dumps, get_crash_dump_dir_paths, RefDump POS_CMDS_201912060006 = [ # stacks @@ -170,73 +167,28 @@ CMD_TABLE = POS_CMDS + STRIPPED_POS_CMDS + NEG_CMDS + POS_CMDS_201912060006 -POS_CMDS_HISTORY = [('201912060006', POS_CMDS_201912060006)] - -def crash_get_cmds() -> Tuple[List[str], List[str]]: - """ - Returns a tuple with the right list of commands to be tested - based on the crash dump's date. The first element of the tuple - is the list of commands we expect to succeed and the second - element the list we expect to fail. - """ - dump_path = get_crash_dump_path() - assert dump_path is not None - - dump_name = os.path.basename(dump_path) - m = re.match(r"dump.(\d+)", dump_name) - assert m is not None - - dt_str = m.group(1) - dt = datetime.datetime.strptime(dt_str, '%Y%m%d%H%M') - pos_cmds = POS_CMDS - neg_cmds = NEG_CMDS - for date_str, cmds in POS_CMDS_HISTORY: - date = datetime.datetime.strptime(date_str, '%Y%m%d%H%M') - if date < dt: - neg_cmds.extend(cmds) - else: - pos_cmds.extend(cmds) - return pos_cmds, neg_cmds - - -@pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[0]) # type: ignore[misc] -def test_cmd_output_and_error_code_0(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 0 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "linux", cmd) +def non_stripped_cmds() -> List[str]: + return POS_CMDS + NEG_CMDS + POS_CMDS_201912060006 @pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[1]) # type: ignore[misc] -def test_cmd_output_and_error_code_1(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 1 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "linux", cmd) + len(get_crash_dump_dir_paths()) == 0, + reason="couldn't find any crash dumps to run tests against") +@pytest.mark.parametrize('rdump', + get_all_reference_crash_dumps()) # type: ignore[misc] +@pytest.mark.parametrize('cmd', non_stripped_cmds()) # type: ignore[misc] +def test_cmd_output_and_error_code(capsys: Any, rdump: RefDump, + cmd: str) -> None: + rdump.verify_cmd_output_and_code(capsys, "linux", cmd) @pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") + len(get_crash_dump_dir_paths()) == 0, + reason="couldn't find any crash dumps to run tests against") +@pytest.mark.parametrize('rdump', + get_all_reference_crash_dumps()) # type: ignore[misc] @pytest.mark.parametrize('cmd', STRIPPED_POS_CMDS) # type: ignore[misc] -def test_cmd_stripped_output_and_error_code_0(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 0 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - slurped = slurp_output_file(dump_name, "linux", cmd) - for i, n in enumerate(captured.out): - assert n.strip() == slurped[i].strip() - assert len(captured.out) == len(slurped) +def test_cmd_stripped_output_and_error_code_0(capsys: Any, rdump: RefDump, + cmd: str) -> None: + rdump.verify_cmd_output_and_code(capsys, "linux", cmd, True) diff --git a/tests/integration/test_spl_generic.py b/tests/integration/test_spl_generic.py index 25169c22..31da1d9b 100644 --- a/tests/integration/test_spl_generic.py +++ b/tests/integration/test_spl_generic.py @@ -18,13 +18,10 @@ # pylint: disable=missing-function-docstring # pylint: disable=line-too-long -import datetime -import re -from typing import Any, List, Tuple -import os.path +from typing import Any, List import pytest -from tests.integration.infra import repl_invoke, get_crash_dump_path, slurp_output_file +from tests.integration.infra import get_crash_dump_dir_paths, get_all_reference_crash_dumps, RefDump POS_CMDS_201912060006 = [ # multilist walker @@ -68,57 +65,13 @@ CMD_TABLE = POS_CMDS + NEG_CMDS + POS_CMDS_201912060006 -POS_CMDS_HISTORY = [('201912060006', POS_CMDS_201912060006)] - - -def crash_get_cmds() -> Tuple[List[str], List[str]]: - """ - Returns a tuple with the right list of commands to be tested - based on the crash dump's date. The first element of the tuple - is the list of commands we expect to succeed and the second - element the list we expect to fail. - """ - dump_path = get_crash_dump_path() - assert dump_path is not None - - dump_name = os.path.basename(dump_path) - m = re.match(r"dump.(\d+)", dump_name) - assert m is not None - - dt_str = m.group(1) - dt = datetime.datetime.strptime(dt_str, '%Y%m%d%H%M') - pos_cmds = POS_CMDS - neg_cmds = NEG_CMDS - for date_str, cmds in POS_CMDS_HISTORY: - date = datetime.datetime.strptime(date_str, '%Y%m%d%H%M') - if date < dt: - neg_cmds.extend(cmds) - else: - pos_cmds.extend(cmds) - return pos_cmds, neg_cmds - - -@pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[0]) # type: ignore[misc] -def test_cmd_output_and_error_code_0(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 0 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "spl", cmd) - @pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") -@pytest.mark.parametrize('cmd', crash_get_cmds()[1]) # type: ignore[misc] -def test_cmd_output_and_error_code_1(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 1 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "spl", cmd) + len(get_crash_dump_dir_paths()) == 0, + reason="couldn't find any crash/core dump to run tests against") +@pytest.mark.parametrize('rdump', + get_all_reference_crash_dumps()) # type: ignore[misc] +@pytest.mark.parametrize('cmd', CMD_TABLE) # type: ignore[misc] +def test_cmd_output_and_error_code(capsys: Any, rdump: RefDump, + cmd: str) -> None: + rdump.verify_cmd_output_and_code(capsys, "spl", cmd) diff --git a/tests/integration/test_zfs_generic.py b/tests/integration/test_zfs_generic.py index b5be0dcd..c51daf4a 100644 --- a/tests/integration/test_zfs_generic.py +++ b/tests/integration/test_zfs_generic.py @@ -19,10 +19,9 @@ # pylint: disable=line-too-long from typing import Any -import os.path import pytest -from tests.integration.infra import repl_invoke, get_crash_dump_path, slurp_output_file +from tests.integration.infra import get_crash_dump_dir_paths, get_all_reference_crash_dumps, RefDump CMD_TABLE = [ @@ -74,13 +73,11 @@ @pytest.mark.skipif( # type: ignore[misc] - not get_crash_dump_path(), - reason="couldn't find crash dump to run tests against") + len(get_crash_dump_dir_paths()) == 0, + reason="couldn't find any crash/core dumps to run tests against") +@pytest.mark.parametrize('rdump', + get_all_reference_crash_dumps()) # type: ignore[misc] @pytest.mark.parametrize('cmd', CMD_TABLE) # type: ignore[misc] -def test_cmd_output_and_error_code(capsys: Any, cmd: str) -> None: - assert repl_invoke(cmd) == 0 - captured = capsys.readouterr() - dump_path = get_crash_dump_path() - assert dump_path is not None - dump_name = os.path.basename(dump_path) - assert captured.out == slurp_output_file(dump_name, "zfs", cmd) +def test_cmd_output_and_error_code(capsys: Any, rdump: RefDump, + cmd: str) -> None: + rdump.verify_cmd_output_and_code(capsys, "zfs", cmd)