+ requires_plugin sh + requires nbdkit sh --version + requires nbdcopy --version + requires dd iflag=count_bytes + files='retry-request-open.img retry-request-open-count' + rm -f retry-request-open.img retry-request-open-count + cleanup_fn rm -f retry-request-open.img retry-request-open-count + _cleanup_hook[${#_cleanup_hook[@]}]='rm -f retry-request-open.img retry-request-open-count' + touch retry-request-open-count + start_t=0 + nbdkit -v -U - sh - --filter=retry-request retry-request-retries=3 retry-request-delay=1 --run 'nbdcopy --synchronous "$uri" retry-request-open.img' /home/rjones/d/nbdkit/server/nbdkit -v -U - --filter=/home/rjones/d/nbdkit/filters/retry-request/.libs/nbdkit-retry-request-filter.so "--run=nbdcopy --synchronous \"\$uri\" retry-request-open.img" -- /home/rjones/d/nbdkit/plugins/sh/.libs/nbdkit-sh-plugin.so - retry-request-retries=3 retry-request-delay=1 nbdkit: debug: nbdkit 1.28.0 nbdkit: debug: TLS disabled: could not load TLS certificates nbdkit: debug: registering plugin /home/rjones/d/nbdkit/plugins/sh/.libs/nbdkit-sh-plugin.so nbdkit: debug: registered plugin /home/rjones/d/nbdkit/plugins/sh/.libs/nbdkit-sh-plugin.so (name sh) nbdkit: debug: sh: load nbdkit: debug: load: tmpdir: /tmp/nbdkitugroEZ nbdkit: debug: registering filter /home/rjones/d/nbdkit/filters/retry-request/.libs/nbdkit-retry-request-filter.so nbdkit: debug: registered filter /home/rjones/d/nbdkit/filters/retry-request/.libs/nbdkit-retry-request-filter.so (name retry-request) nbdkit: debug: retry-request: load nbdkit: debug: retry-request: config key=script, value=- nbdkit: debug: sh: config key=script, value=- nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh load nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh load: status 2 nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh magic_config_key nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh magic_config_key: status 2 nbdkit: debug: retry-request: config key=retry-request-retries, value=3 nbdkit: debug: retry-request: config key=retry-request-delay, value=1 nbdkit: debug: retry-request: config_complete nbdkit: debug: sh: config_complete nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh config_complete nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh config_complete: status 2 nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh thread_model nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh thread_model: status 2 nbdkit: debug: using thread model: serialize_all_requests nbdkit: debug: sh: get_ready nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh get_ready nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh get_ready: status 2 nbdkit: debug: retry-request: get_ready thread_model=1 nbdkit: debug: bound to unix socket /tmp/nbdkitmW4dnI/socket nbdkit: debug: forked into background (new pid = 2957214) nbdkit: debug: sh: after_fork nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh after_fork nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh after_fork: status 2 nbdkit: debug: retry-request: after_fork libnbd: debug: nbd1: nbd_create: opening handle libnbd: debug: nbd1: nbd_set_debug: enter: debug=false nbdkit: debug: accepted connection nbdkit: sh[1]: debug: retry-request: preconnect nbdkit: sh[1]: debug: sh: preconnect nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh preconnect false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh preconnect: status 2 nbdkit: sh[1]: debug: newstyle negotiation: flags: global 0x3 nbdkit: sh[1]: debug: newstyle negotiation: client flags: 0x3 nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_STRUCTURED_REPLY: client requested structured replies nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_SET_META_CONTEXT: client requested export '' nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_SET_META_CONTEXT: set count: 1 nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_SET_META_CONTEXT: set base:allocation nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_SET_META_CONTEXT: replying with base:allocation id 1 nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_SET_META_CONTEXT: reply complete nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_GO: client requested export '' nbdkit: sh[1]: debug: retry-request: open readonly=0 exportname="" tls=0 nbdkit: sh[1]: debug: retry-request: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: sh: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh default_export false false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh default_export: status 2 nbdkit: sh[1]: debug: sh: open readonly=0 exportname="" tls=0 nbdkit: sh[1]: debug: sh: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh open false "" false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh open: status 1 nbdkit: sh[1]: error: /tmp/nbdkitugroEZ/inline-script.sh: open failed nbdkit: sh[1]: debug: sh: open returned handle (nil) nbdkit: sh[1]: debug: retry 1: waiting 1 seconds before retrying nbdkit: sh[1]: debug: sh: open readonly=0 exportname="" tls=0 nbdkit: sh[1]: debug: sh: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh open false "" false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh open: status 1 nbdkit: sh[1]: error: /tmp/nbdkitugroEZ/inline-script.sh: open failed nbdkit: sh[1]: debug: sh: open returned handle (nil) nbdkit: sh[1]: debug: retry 2: waiting 1 seconds before retrying nbdkit: sh[1]: debug: sh: open readonly=0 exportname="" tls=0 nbdkit: sh[1]: debug: sh: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh open false "" false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh open: status 1 nbdkit: sh[1]: error: /tmp/nbdkitugroEZ/inline-script.sh: open failed nbdkit: sh[1]: debug: sh: open returned handle (nil) nbdkit: sh[1]: debug: retry 3: waiting 1 seconds before retrying nbdkit: sh[1]: debug: sh: open readonly=0 exportname="" tls=0 nbdkit: sh[1]: debug: sh: default_export readonly=0 tls=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh open false "" false nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh open: status 0 nbdkit: sh[1]: debug: sh: handle: handle nbdkit: sh[1]: debug: sh: open returned handle 0x55ae565a3f60 nbdkit: sh[1]: debug: retry-request: open returned handle 0x7f3f4f96d4b8 nbdkit: sh[1]: debug: sh: prepare readonly=0 nbdkit: sh[1]: debug: retry-request: prepare readonly=0 nbdkit: sh[1]: debug: retry-request: get_size nbdkit: sh[1]: debug: sh: get_size nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh get_size handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh get_size: status 0 nbdkit: sh[1]: debug: retry-request: can_write nbdkit: sh[1]: debug: sh: can_write nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh can_write handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh can_write: status 2 nbdkit: sh[1]: debug: retry-request: can_zero nbdkit: sh[1]: debug: retry-request: can_fast_zero nbdkit: sh[1]: debug: retry-request: can_trim nbdkit: sh[1]: debug: retry-request: can_fua nbdkit: sh[1]: debug: retry-request: can_flush nbdkit: sh[1]: debug: sh: can_flush nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh can_flush handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh can_flush: status 2 nbdkit: sh[1]: debug: retry-request: is_rotational nbdkit: sh[1]: debug: sh: is_rotational nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh is_rotational handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh is_rotational: status 2 nbdkit: sh[1]: debug: retry-request: can_multi_conn nbdkit: sh[1]: debug: sh: can_multi_conn nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh can_multi_conn handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh can_multi_conn: status 2 nbdkit: sh[1]: debug: retry-request: can_cache nbdkit: sh[1]: debug: sh: can_cache nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh can_cache handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh can_cache: status 2 nbdkit: sh[1]: debug: retry-request: can_extents nbdkit: sh[1]: debug: sh: can_extents nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh can_extents handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh can_extents: status 2 nbdkit: sh[1]: debug: newstyle negotiation: flags: export 0x83 nbdkit: sh[1]: debug: newstyle negotiation: NBD_OPT_GO: ignoring NBD_INFO_* request 3 (NBD_INFO_BLOCK_SIZE) nbdkit: sh[1]: debug: handshake complete, processing requests serially nbdkit: sh[1]: debug: retry-request: extents count=512 offset=0 req_one=0 nbdkit: sh[1]: debug: retry-request: pread count=512 offset=0 nbdkit: sh[1]: debug: sh: pread count=512 offset=0 nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh pread handle 512 0 nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh pread: status 0 nbdkit: sh[1]: debug: client sent NBD_CMD_DISC, closing connection nbdkit: sh[1]: debug: retry-request: finalize nbdkit: sh[1]: debug: sh: finalize nbdkit: sh[1]: debug: retry-request: close nbdkit: sh[1]: debug: sh: close nbdkit: sh[1]: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh close handle nbdkit: sh[1]: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh close: status 2 nbdkit: debug: retry-request: cleanup nbdkit: debug: sh: cleanup nbdkit: debug: sh: unload plugin nbdkit: debug: calling: /tmp/nbdkitugroEZ/inline-script.sh unload nbdkit: debug: completed: /tmp/nbdkitugroEZ/inline-script.sh unload: status 2 nbdkit: debug: retry-request: unload filter + end_t=3 + '[' 3 -lt 3 ']' + read retry_count + '[' 4 -ne 4 ']' + _run_cleanup_hooks + local _status=0 _i + set +e + trap '' INT QUIT TERM EXIT ERR + echo ./test-retry-request-open.sh: run cleanup hooks: exit code 0 ./test-retry-request-open.sh: run cleanup hooks: exit code 0 + (( _i = 0 )) + (( _i < 1 )) + rm -f retry-request-open.img retry-request-open-count + (( ++_i )) + (( _i < 1 )) + exit 0 PASS test-retry-request-open.sh (exit status: 0)