diff mbox series

[2/3] dmerror: export configuration so that subprograms don't have to reinit

Message ID 162674335368.2651055.3174851724980962325.stgit@magnolia (mailing list archive)
State New, archived
Headers show
Series common/dm*: support external log and rt devices | expand

Commit Message

Darrick J. Wong July 20, 2021, 1:09 a.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

Export the dmerror configuration variables so that subprograms don't
have to reinitialize the configuration in their own subprograms before
calling the helpers.  In the next patch (where we allow dmerror for log
and rt devices) it will become important to avoid these
reinitializations.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 common/dmerror |    8 +++++---
 src/dmerror    |   13 +++++--------
 2 files changed, 10 insertions(+), 11 deletions(-)
diff mbox series

Patch

diff --git a/common/dmerror b/common/dmerror
index 6f1bef09..7f6800c0 100644
--- a/common/dmerror
+++ b/common/dmerror
@@ -10,11 +10,11 @@  _dmerror_setup()
 
 	local blk_dev_size=`blockdev --getsz $dm_backing_dev`
 
-	DMERROR_DEV='/dev/mapper/error-test'
+	export DMERROR_DEV='/dev/mapper/error-test'
 
-	DMLINEAR_TABLE="0 $blk_dev_size linear $dm_backing_dev 0"
+	export DMLINEAR_TABLE="0 $blk_dev_size linear $dm_backing_dev 0"
 
-	DMERROR_TABLE="0 $blk_dev_size error $dm_backing_dev 0"
+	export DMERROR_TABLE="0 $blk_dev_size error $dm_backing_dev 0"
 }
 
 _dmerror_init()
@@ -42,6 +42,8 @@  _dmerror_cleanup()
 	$DMSETUP_PROG resume error-test > /dev/null 2>&1
 	$UMOUNT_PROG $SCRATCH_MNT > /dev/null 2>&1
 	_dmsetup_remove error-test
+
+	unset DMERROR_DEV DMLINEAR_TABLE DMERROR_TABLE
 }
 
 _dmerror_load_error_table()
diff --git a/src/dmerror b/src/dmerror
index c34d1a9a..cde2b428 100755
--- a/src/dmerror
+++ b/src/dmerror
@@ -5,15 +5,12 @@ 
 . ./common/config
 . ./common/dmerror
 
-_dmerror_setup
+if [ -z "$DMERROR_DEV" ]; then
+	echo "Caller should have run _dmerror_init."
+	exit 1
+fi
 
 case $1 in
-cleanup)
-	_dmerror_cleanup
-	;;
-init)
-	_dmerror_init
-	;;
 load_error_table)
 	_dmerror_load_error_table
 	;;
@@ -21,7 +18,7 @@  load_working_table)
 	_dmerror_load_working_table
 	;;
 *)
-	echo "Usage: $0 {init|cleanup|load_error_table|load_working_table}"
+	echo "Usage: $0 {load_error_table|load_working_table}"
 	exit 1
 	;;
 esac