From: Daniel Wagner Date: Tue, 26 Mar 2024 13:13:44 +0000 (+0100) Subject: nvme/rc: silence fcloop cleanup failures X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=862c4167ed19353c201b1dfa10c3f75a03b0c99a;p=users%2Fsagi%2Fblktests.git nvme/rc: silence fcloop cleanup failures When the ctl file is missing we are logging tests/nvme/rc: line 265: /sys/class/fcloop/ctl/del_target_port: No such file or directory tests/nvme/rc: line 257: /sys/class/fcloop/ctl/del_local_port: No such file or directory tests/nvme/rc: line 249: /sys/class/fcloop/ctl/del_remote_port: No such file or directory because the first redirect operator fails. Also it's not possible to redirect the 'echo' error to /dev/null, because it's a builtin command which escapes the stderr redirect operator (why?). Anyway, the simplest way to catch this error is to first check if the control file exists before attempting to write to it. Signed-off-by: Daniel Wagner Signed-off-by: Shin'ichiro Kawasaki --- diff --git a/tests/nvme/rc b/tests/nvme/rc index 78d84af..865c8c3 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -234,7 +234,10 @@ _nvme_fcloop_del_rport() { local remote_wwpn="$4" local loopctl=/sys/class/fcloop/ctl - echo "wwnn=${remote_wwnn},wwpn=${remote_wwpn}" > ${loopctl}/del_remote_port 2> /dev/null + if [[ ! -f "${loopctl}/del_remote_port" ]]; then + return + fi + echo "wwnn=${remote_wwnn},wwpn=${remote_wwpn}" > "${loopctl}/del_remote_port" } _nvme_fcloop_del_lport() { @@ -242,7 +245,10 @@ _nvme_fcloop_del_lport() { local wwpn="$2" local loopctl=/sys/class/fcloop/ctl - echo "wwnn=${wwnn},wwpn=${wwpn}" > ${loopctl}/del_local_port 2> /dev/null + if [[ ! -f "${loopctl}/del_local_port" ]]; then + return + fi + echo "wwnn=${wwnn},wwpn=${wwpn}" > "${loopctl}/del_local_port" } _nvme_fcloop_del_tport() { @@ -250,7 +256,10 @@ _nvme_fcloop_del_tport() { local wwpn="$2" local loopctl=/sys/class/fcloop/ctl - echo "wwnn=${wwnn},wwpn=${wwpn}" > ${loopctl}/del_target_port 2> /dev/null + if [[ ! -f "${loopctl}/del_target_port" ]]; then + return + fi + echo "wwnn=${wwnn},wwpn=${wwpn}" > "${loopctl}/del_target_port" } _cleanup_fcloop() {