-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix zdb -ed on objset for exported pool
zdb -ed on objset for exported pool would failed with: failed to own dataset 'qq/fs0': No such file or directory The reason is that zdb pass objset name to spa_import, it uses that name to create a spa. Later, when dmu_objset_own tries to lookup the spa using real pool name, it can't find one. We fix this by make sure we pass pool name rather than objset name to spa_import. Signed-off-by: Chunwei Chen <[email protected]>
- Loading branch information
1 parent
9b055b0
commit 3c27d6a
Showing
4 changed files
with
85 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
61 changes: 61 additions & 0 deletions
61
tests/zfs-tests/tests/functional/cli_root/zdb/zdb_006_pos.ksh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/bin/ksh | ||
|
||
# | ||
# This file and its contents are supplied under the terms of the | ||
# Common Development and Distribution License ("CDDL"), version 1.0. | ||
# You may only use this file in accordance with the terms of version | ||
# 1.0 of the CDDL. | ||
# | ||
# A full copy of the text of the CDDL should have accompanied this | ||
# source. A copy of the CDDL is also available via the Internet at | ||
# http://www.illumos.org/license/CDDL. | ||
# | ||
|
||
# | ||
# Copyright (c) 2018 by Nutanix. All rights reserved. | ||
# | ||
|
||
. $STF_SUITE/include/libtest.shlib | ||
|
||
# | ||
# Description: | ||
# zdb -d will work on imported/exported pool with pool/dataset argument | ||
# | ||
# Strategy: | ||
# 1. Create a pool | ||
# 2. Run zdb -d with pool and dataset arguments. | ||
# 3. Export the pool | ||
# 4. Run zdb -ed with pool and dataset arguments. | ||
# | ||
|
||
function cleanup | ||
{ | ||
datasetexists $TESTPOOL && destroy_pool $TESTPOOL | ||
for DISK in $DISKS; do | ||
zpool labelclear -f $DEV_RDSKDIR/$DISK | ||
done | ||
} | ||
|
||
log_assert "Verify zdb -d" | ||
log_onexit cleanup | ||
|
||
verify_runnable "global" | ||
verify_disk_count "$DISKS" 2 | ||
|
||
default_mirror_setup_noexit $DISKS | ||
|
||
log_must zdb -d $TESTPOOL | ||
log_must zdb -d $TESTPOOL/ | ||
log_must zdb -d $TESTPOOL/$TESTFS | ||
|
||
log_must zpool export $TESTPOOL | ||
|
||
log_must zdb -ed $TESTPOOL | ||
log_must zdb -ed $TESTPOOL/ | ||
log_must zdb -ed $TESTPOOL/$TESTFS | ||
|
||
log_must zpool import $TESTPOOL | ||
|
||
cleanup | ||
|
||
log_pass "zdb -d works on imported/exported pool with pool/dataset argument" |