summaryrefslogtreecommitdiff
path: root/common/module
diff options
context:
space:
mode:
authorLuis Chamberlain <mcgrof@kernel.org>2021-09-21 10:49:52 -0700
committerEryu Guan <guaneryu@gmail.com>2021-09-26 20:48:16 +0800
commitb47ea0c69737cfbfd0d0884e373a5ede8906046a (patch)
tree34a1f7af941804b2ad78ce10478c8402e8d8be40 /common/module
parent410a2e3186a1e8632dfb43a64176d5d99497c228 (diff)
common/module: use patient module removal
Now that scsi_debug has been using the patient module removal for a while, let's generalize its use for the other use cases. This likey will fix some odd false positives due to races. Suggested-by: Eryu Guan <guan@eryu.me> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Diffstat (limited to 'common/module')
-rw-r--r--common/module6
1 files changed, 3 insertions, 3 deletions
diff --git a/common/module b/common/module
index 0392f20c..ead0f881 100644
--- a/common/module
+++ b/common/module
@@ -16,7 +16,7 @@ _reload_module()
{
local module="$1"
- modprobe -r "${module}" || _fail "${module} unload failed"
+ _patient_rmmod "${module}" || _fail "${module} unload failed"
modprobe "${module}" || _fail "${module} load failed"
}
@@ -44,7 +44,7 @@ _require_loadable_module()
local module="$1"
modinfo "${module}" > /dev/null 2>&1 || _notrun "${module}: must be a module."
- modprobe -r "${module}" || _notrun "Require ${module} to be unloadable"
+ _patient_rmmod "${module}" || _notrun "Require ${module} to be unloadable"
modprobe "${module}" || _notrun "${module} load failed"
}
@@ -64,7 +64,7 @@ _require_loadable_fs_module()
test -n "${had_scratchfs}" && _scratch_unmount
local unload_ok=""
local load_ok=""
- modprobe -r "${module}" || unload_ok=0
+ _patient_rmmod "${module}" || unload_ok=0
modprobe "${module}" || load_ok=0
test -n "${had_scratchfs}" && _scratch_mount 2> /dev/null
test -n "${had_testfs}" && _test_mount 2> /dev/null