Skip to content

Commit

Permalink
ZTS: Fix zpool_import_hostid_changed_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: Tino Reichardt <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #16578
  • Loading branch information
behlendorf authored Sep 28, 2024
1 parent 6f50f8e commit 834b90f
Showing 1 changed file with 4 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
# 1. Set a hostid.
# 2. Create a pool.
# 3. Simulate the pool being torn down without export:
# 3.1. Copy the underlying device state.
# 3.2. Export the pool.
# 3.1. Sync then freeze the pool.
# 3.2. Export the pool (uncleanly).
# 3.3. Restore the device state from the copy.
# 4. Change the hostid.
# 5. Verify that importing the pool fails.
Expand All @@ -52,10 +52,9 @@ log_must zgenhostid -f $HOSTID1
log_must zpool create $TESTPOOL1 $VDEV0

# 3. 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

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

0 comments on commit 834b90f

Please sign in to comment.