From ab9b671c554960fde00658ff1b1122960e010db0 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Mon, 19 Jul 2021 18:09:13 -0700 Subject: [PATCH] dmerror: export configuration so that subprograms don't have to reinit 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 Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- common/dmerror | 8 +++++--- src/dmerror | 13 +++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/common/dmerror b/common/dmerror index 7d12e0a1..01a4c8b5 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 -- 2.39.5