-
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. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: loli10K <[email protected]> Signed-off-by: Chunwei Chen <[email protected]> Closes #7099 Closes #6464
- Loading branch information
1 parent
31ff122
commit 478754a
Showing
5 changed files
with
90 additions
and
15 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
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
64 changes: 64 additions & 0 deletions
64
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,64 @@ | ||
#!/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 works on imported/exported pool with pool/dataset argument" | ||
log_onexit cleanup | ||
|
||
verify_runnable "global" | ||
verify_disk_count "$DISKS" 2 | ||
|
||
default_mirror_setup_noexit $DISKS | ||
log_must zfs snap $TESTPOOL/$TESTFS@snap | ||
|
||
log_must zdb -d $TESTPOOL | ||
log_must zdb -d $TESTPOOL/ | ||
log_must zdb -d $TESTPOOL/$TESTFS | ||
log_must zdb -d $TESTPOOL/$TESTFS@snap | ||
|
||
log_must zpool export $TESTPOOL | ||
|
||
log_must zdb -ed $TESTPOOL | ||
log_must zdb -ed $TESTPOOL/ | ||
log_must zdb -ed $TESTPOOL/$TESTFS | ||
log_must zdb -ed $TESTPOOL/$TESTFS@snap | ||
|
||
log_must zpool import $TESTPOOL | ||
|
||
cleanup | ||
|
||
log_pass "zdb -d works on imported/exported pool with pool/dataset argument" |