]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
common: make helpers for null_blk module
authorGioh Kim <gi-oh.kim@profitbricks.com>
Wed, 4 Jul 2018 10:51:20 +0000 (12:51 +0200)
committerGioh Kim <gi-oh.kim@profitbricks.com>
Wed, 4 Jul 2018 10:51:20 +0000 (12:51 +0200)
Common helpers for loading/unloading null_blk module.
It settles udev before loading/unloading.

Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
common/null_blk [new file with mode: 0644]

diff --git a/common/null_blk b/common/null_blk
new file mode 100644 (file)
index 0000000..1bda8a5
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# null_blk helper functions.
+#
+# Copyright (C) 2017 Omar Sandoval
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+_have_null_blk() {
+       _have_module null_blk
+}
+
+_init_null_blk() {
+       if ! modprobe -r null_blk || ! modprobe null_blk "$@"; then
+               return 1
+       fi
+
+       udevadm settle
+       return 0
+}
+
+_exit_null_blk() {
+       udevadm settle
+       modprobe -r null_blk
+}