[PATCH blktests] srp: skip test if scsi_transport_srp module is loaded and in use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The srp/* tests requires exclusive access to scsi_transport_srp
module. Running srp/* tests would definitely fail if the test can't
get exclusive access of scsi_transport_srp module as shown below:

$ lsmod | grep scsi_transport_srp
scsi_transport_srp    327680  1 ibmvscsi

$ ./check srp/001
srp/001 (Create and remove LUNs)                             [failed]
    runtime    ...  0.249s
tests/srp/rc: line 263: /sys/class/srp_remote_ports/port-0:1/delete: Permission denied
tests/srp/rc: line 263: /sys/class/srp_remote_ports/port-0:1/delete: Permission denied
modprobe: FATAL: Module scsi_transport_srp is in use.
error: Invalid argument
error: Invalid argument

So if the scsi_transport_srp module is loaded and in use then skip
running srp/* tests.

Signed-off-by: Nilay Shroff <nilay@xxxxxxxxxxxxx>
---
 common/rc    | 11 +++++++++++
 tests/srp/rc |  1 +
 2 files changed, 12 insertions(+)

diff --git a/common/rc b/common/rc
index bcb215d..73e0b9a 100644
--- a/common/rc
+++ b/common/rc
@@ -78,6 +78,17 @@ _have_module() {
 	return 0
 }
 
+_have_module_not_in_use() {
+       _have_module "$1" || return
+
+       if [ -d "/sys/module/$1" ]; then
+               refcnt="$(cat /sys/module/$1/refcnt)"
+               if [ "$refcnt" -ne "0" ]; then
+                       SKIP_REASONS+=("module $1 is in use")
+               fi
+       fi
+}
+
 _have_module_param() {
 	 _have_driver "$1" || return
 
diff --git a/tests/srp/rc b/tests/srp/rc
index 85bd1dd..1bc7b20 100755
--- a/tests/srp/rc
+++ b/tests/srp/rc
@@ -61,6 +61,7 @@ group_requires() {
 	_have_module scsi_debug
 	_have_module target_core_iblock
 	_have_module target_core_mod
+	_have_module_not_in_use scsi_transport_srp
 
 	for p in mkfs.ext4 mkfs.xfs multipath multipathd pidof rdma \
 		 sg_reset fio; do
-- 
2.47.1





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux