Skip to content

Commit

Permalink
ZTS: Fix zpool_import_hostid_changed_cachefile_unclean_export
Browse files Browse the repository at this point in the history
Update the test case to freeze the pool then export it to better
simulate a hard failure.  This is preferable to copying the vdev
while the pool's imported since with a copy we're not guaranteed
the on-disk state will be consistent.  That can in turn result
in a pool import failure and a spurious test failure.

Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#16570
  • Loading branch information
behlendorf authored and mcmilk committed Sep 26, 2024
1 parent b2ca510 commit 5b0e062
Showing 1 changed file with 4 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,8 @@
# 2. Create a pool.
# 3. Backup the cachefile.
# 4. Simulate the pool being torn down without export:
# 4.1. Copy the underlying device state.
# 4.2. Export the pool.
# 4.3. Restore the device state from the copy.
# 4.1. Sync then freeze the pool.
# 4.2. Export the pool (uncleanly).
# 5. Change the hostid.
# 6. Verify that importing the pool from the cachefile fails.
# 7. Verify that importing the pool from the cachefile with force
Expand All @@ -57,10 +56,9 @@ log_must zpool create -o cachefile=$CPATH $TESTPOOL1 $VDEV0
log_must cp $CPATH $CPATHBKP

# 4. Simulate the pool being torn down without export.
log_must cp $VDEV0 $VDEV0.bak
sync_pool $TESTPOOL1
log_must zpool freeze $TESTPOOL1
log_must zpool export $TESTPOOL1
log_must cp -f $VDEV0.bak $VDEV0
log_must rm -f $VDEV0.bak

# 5. Change the hostid.
log_must zgenhostid -f $HOSTID2
Expand Down

0 comments on commit 5b0e062

Please sign in to comment.