From db587941c5ff6dea01932bb78f70db63cf7f38ba Mon Sep 17 00:00:00 2001 From: Serapheim Dimitropoulos Date: Wed, 16 Jan 2019 10:41:47 -0800 Subject: [PATCH] Make zdb results for checkpoint tests consistent This patch exports and re-imports the pool when these tests are analyzed with zdb to get consistent results. Reviewed by: Igor Kozhukhov Reviewed-by: Brian Behlendorf Reviewed-by: George Melikov Signed-off-by: Serapheim Dimitropoulos Closes #8292 --- .../pool_checkpoint/pool_checkpoint.kshlib | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/zfs-tests/tests/functional/pool_checkpoint/pool_checkpoint.kshlib b/tests/zfs-tests/tests/functional/pool_checkpoint/pool_checkpoint.kshlib index 455a1d12d24e..6e410e0c85f8 100644 --- a/tests/zfs-tests/tests/functional/pool_checkpoint/pool_checkpoint.kshlib +++ b/tests/zfs-tests/tests/functional/pool_checkpoint/pool_checkpoint.kshlib @@ -324,8 +324,19 @@ function fragment_after_checkpoint_and_verify # log_must zpool list -v - log_must zdb $NESTEDPOOL - log_must zdb -kc $NESTEDPOOL + # + # Typically we would just run zdb at this point and things + # would be fine. Unfortunately, if there is still any + # background I/O in the pool the zdb command can fail with + # checksum errors temporarily. + # + # Export the pool when running zdb so the pool is idle and + # the verification results are consistent. + # + log_must zpool export $NESTEDPOOL + log_must zdb -e -p $FILEDISKDIR $NESTEDPOOL + log_must zdb -e -p $FILEDISKDIR -kc $NESTEDPOOL + log_must zpool import -d $FILEDISKDIR $NESTEDPOOL } function wait_discard_finish