00:45:28.784 23:00:54 sw_hotplug -- common/autotest_common.sh@715 -- # time='========== Backtrace start: ========== 00:45:28.784 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/common/autotest_common.sh:715 -> timing_cmd(["remove_attach_helper"],["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 710 00:45:28.784 711 # We redirect cmd'\''s std{out,err} to a separate fd dup'\''ed to stdin'\''s device (or /dev/null) to 00:45:28.784 712 # catch only output from the time builtin - output from the actual cmd would be still visible, 00:45:28.784 713 # but $() will return just the time'\''s data, hence making it possible to just do: 00:45:28.784 714 # time_of_super_verbose_cmd=$(timing_cmd super_verbose_cmd) 00:45:28.784 => 715 time=$({ time "$@" >&"$cmd_out" 2>&1; } 2>&1) 00:45:28.784 716 00:45:28.784 717 echo "$time" 00:45:28.784 718 ) 00:45:28.784 719 00:45:28.784 720 function timing_enter() { 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:16 -> debug_remove_attach_helper(["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 11 # Pci bus hotplug 00:45:28.784 12 # Helper function to remove/attach cotrollers 00:45:28.784 13 debug_remove_attach_helper() { 00:45:28.784 14 local helper_time=0 00:45:28.784 15 00:45:28.784 => 16 helper_time=$(timing_cmd remove_attach_helper "$@") 00:45:28.784 17 printf '\''remove_attach_helper took %ss to complete (handling %u nvme drive(s))'\'' \ 00:45:28.784 18 "$helper_time" "$nvme_count" >&2 00:45:28.784 19 } 00:45:28.784 20 00:45:28.784 21 remove_attach_helper() { 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:110 -> tgt_run_hotplug([]) 00:45:28.784 ... 00:45:28.784 105 waitforbdev "Nvme0${dev}n1" "$hotplug_wait" 00:45:28.784 106 done 00:45:28.784 107 00:45:28.784 108 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.784 109 00:45:28.784 => 110 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.784 111 # Verify reregistering hotplug poller 00:45:28.784 112 rpc_cmd bdev_nvme_set_hotplug -d 00:45:28.784 113 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.784 114 00:45:28.784 115 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:138 -> main([]) 00:45:28.784 ... 00:45:28.784 133 00:45:28.784 134 # Run pci bus hotplug test 00:45:28.784 135 run_hotplug 00:45:28.784 136 00:45:28.784 137 # Run SPDK target based hotplug 00:45:28.784 => 138 tgt_run_hotplug 00:45:28.784 ... 00:45:28.784 00:45:28.784 ========== Backtrace end ========== 00:45:28.784 ========== Backtrace start: ========== 00:45:28.784 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/common/autotest_common.sh:715 -> timing_cmd(["remove_attach_helper"],["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 710 00:45:28.784 711 # We redirect cmd's std{out,err} to a separate fd dup'ed to stdin's device (or /dev/null) to 00:45:28.784 712 # catch only output from the time builtin - output from the actual cmd would be still visible, 00:45:28.784 713 # but $() will return just the time's data, hence making it possible to just do: 00:45:28.784 714 # time_of_super_verbose_cmd=$(timing_cmd super_verbose_cmd) 00:45:28.784 => 715 time=$({ time "$@" >&"$cmd_out" 2>&1; } 2>&1) 00:45:28.784 716 00:45:28.784 717 echo "$time" 00:45:28.784 718 ) 00:45:28.784 719 00:45:28.784 720 function timing_enter() { 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:16 -> debug_remove_attach_helper(["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 11 # Pci bus hotplug 00:45:28.784 12 # Helper function to remove/attach cotrollers 00:45:28.784 13 debug_remove_attach_helper() { 00:45:28.784 14 local helper_time=0 00:45:28.784 15 00:45:28.784 => 16 helper_time=$(timing_cmd remove_attach_helper "$@") 00:45:28.784 17 printf 'remove_attach_helper took %ss to complete (handling %u nvme drive(s))' \ 00:45:28.784 18 "$helper_time" "$nvme_count" >&2 00:45:28.784 19 } 00:45:28.784 20 00:45:28.784 21 remove_attach_helper() { 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:110 -> tgt_run_hotplug([]) 00:45:28.784 ... 00:45:28.784 105 waitforbdev "Nvme0${dev}n1" "$hotplug_wait" 00:45:28.784 106 done 00:45:28.784 107 00:45:28.784 108 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.784 109 00:45:28.784 => 110 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.784 111 # Verify reregistering hotplug poller 00:45:28.784 112 rpc_cmd bdev_nvme_set_hotplug -d 00:45:28.784 113 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.784 114 00:45:28.784 115 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:138 -> main([]) 00:45:28.784 ... 00:45:28.784 133 00:45:28.784 134 # Run pci bus hotplug test 00:45:28.784 135 run_hotplug 00:45:28.784 136 00:45:28.784 137 # Run SPDK target based hotplug 00:45:28.784 => 138 tgt_run_hotplug 00:45:28.784 ... 00:45:28.784 00:45:28.784 ========== Backtrace end ========== 00:45:28.784 ========== Backtrace start: ========== 00:45:28.784 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/common/autotest_common.sh:718 -> timing_cmd(["remove_attach_helper"],["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 713 # but $() will return just the time's data, hence making it possible to just do: 00:45:28.784 714 # time_of_super_verbose_cmd=$(timing_cmd super_verbose_cmd) 00:45:28.784 715 time=$({ time "$@" >&"$cmd_out" 2>&1; } 2>&1) 00:45:28.784 716 00:45:28.784 717 echo "$time" 00:45:28.784 => 718 ) 00:45:28.784 719 00:45:28.784 720 function timing_enter() { 00:45:28.784 721 xtrace_disable 00:45:28.784 722 timing "enter" "$1" 00:45:28.784 723 xtrace_restore 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:16 -> debug_remove_attach_helper(["3"],["6"],["true"]) 00:45:28.784 ... 00:45:28.784 11 # Pci bus hotplug 00:45:28.784 12 # Helper function to remove/attach cotrollers 00:45:28.784 13 debug_remove_attach_helper() { 00:45:28.784 14 local helper_time=0 00:45:28.784 15 00:45:28.784 => 16 helper_time=$(timing_cmd remove_attach_helper "$@") 00:45:28.784 17 printf 'remove_attach_helper took %ss to complete (handling %u nvme drive(s))' \ 00:45:28.784 18 "$helper_time" "$nvme_count" >&2 00:45:28.784 19 } 00:45:28.784 20 00:45:28.784 21 remove_attach_helper() { 00:45:28.784 ... 00:45:28.784 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:110 -> tgt_run_hotplug([]) 00:45:28.784 ... 00:45:28.784 105 waitforbdev "Nvme0${dev}n1" "$hotplug_wait" 00:45:28.784 106 done 00:45:28.784 107 00:45:28.784 108 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.784 109 00:45:28.784 => 110 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.784 111 # Verify reregistering hotplug poller 00:45:28.785 112 rpc_cmd bdev_nvme_set_hotplug -d 00:45:28.785 113 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.785 114 00:45:28.785 115 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.785 ... 00:45:28.785 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:138 -> main([]) 00:45:28.785 ... 00:45:28.785 133 00:45:28.785 134 # Run pci bus hotplug test 00:45:28.785 135 run_hotplug 00:45:28.785 136 00:45:28.785 137 # Run SPDK target based hotplug 00:45:28.785 => 138 tgt_run_hotplug 00:45:28.785 ... 00:45:28.785 00:45:28.785 ========== Backtrace end ========== 00:45:28.785 ========== Backtrace start: ========== 00:45:28.785 00:45:28.785 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:16 -> debug_remove_attach_helper(["3"],["6"],["true"]) 00:45:28.785 ... 00:45:28.785 11 # Pci bus hotplug 00:45:28.785 12 # Helper function to remove/attach cotrollers 00:45:28.785 13 debug_remove_attach_helper() { 00:45:28.785 14 local helper_time=0 00:45:28.785 15 00:45:28.785 => 16 helper_time=$(timing_cmd remove_attach_helper "$@") 00:45:28.785 17 printf 'remove_attach_helper took %ss to complete (handling %u nvme drive(s))' \ 00:45:28.785 18 "$helper_time" "$nvme_count" >&2 00:45:28.785 19 } 00:45:28.785 20 00:45:28.785 21 remove_attach_helper() { 00:45:28.785 ... 00:45:28.785 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:110 -> tgt_run_hotplug([]) 00:45:28.785 ... 00:45:28.785 105 waitforbdev "Nvme0${dev}n1" "$hotplug_wait" 00:45:28.785 106 done 00:45:28.785 107 00:45:28.785 108 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.785 109 00:45:28.785 => 110 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.785 111 # Verify reregistering hotplug poller 00:45:28.785 112 rpc_cmd bdev_nvme_set_hotplug -d 00:45:28.785 113 rpc_cmd bdev_nvme_set_hotplug -e 00:45:28.785 114 00:45:28.785 115 debug_remove_attach_helper "$hotplug_events" "$hotplug_wait" true 00:45:28.785 ... 00:45:28.785 in /home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh:138 -> main([]) 00:45:28.785 ... 00:45:28.785 133 00:45:28.785 134 # Run pci bus hotplug test 00:45:28.785 135 run_hotplug 00:45:28.785 136 00:45:28.785 137 # Run SPDK target based hotplug 00:45:28.785 => 138 tgt_run_hotplug 00:45:28.785 ... 00:45:28.785 00:45:28.785 ========== Backtrace end ========== 00:45:31.098 ========== Backtrace start: ========== 00:45:31.098 00:45:31.098 in /home/vagrant/spdk_repo/spdk/test/common/autotest_common.sh:1122 -> run_test(["sw_hotplug"],["/home/vagrant/spdk_repo/spdk/test/nvme/sw_hotplug.sh"]) 00:45:31.098 ... 00:45:31.098 1117 timing_enter $test_name 00:45:31.098 1118 echo "************************************" 00:45:31.098 1119 echo "START TEST $test_name" 00:45:31.098 1120 echo "************************************" 00:45:31.098 1121 xtrace_restore 00:45:31.098 1122 time "$@" 00:45:31.098 1123 xtrace_disable 00:45:31.098 1124 echo "************************************" 00:45:31.098 1125 echo "END TEST $test_name" 00:45:31.098 1126 echo "************************************" 00:45:31.098 1127 timing_exit $test_name 00:45:31.098 ... 00:45:31.098 in /home/vagrant/spdk_repo/spdk/autotest.sh:240 -> main(["/home/vagrant/spdk_repo/autorun-spdk.conf"]) 00:45:31.098 ... 00:45:31.098 235 00:45:31.098 236 run_test "nvme_rpc" $rootdir/test/nvme/nvme_rpc.sh 00:45:31.098 237 run_test "nvme_rpc_timeouts" $rootdir/test/nvme/nvme_rpc_timeouts.sh 00:45:31.098 238 00:45:31.098 239 if [ $(uname -s) = Linux ]; then 00:45:31.099 => 240 run_test "sw_hotplug" $rootdir/test/nvme/sw_hotplug.sh 00:45:31.099 241 fi 00:45:31.099 242 00:45:31.099 243 if [[ $SPDK_TEST_XNVME -eq 1 ]]; then 00:45:31.099 244 run_test "nvme_xnvme" $rootdir/test/nvme/xnvme/xnvme.sh 00:45:31.099 245 run_test "blockdev_xnvme" $rootdir/test/bdev/blockdev.sh "xnvme" 00:45:31.099 ... 00:45:31.099 00:45:31.099 ========== Backtrace end ==========