http://defect.opensolaris.org/bz/show_bug.cgi?id=1055

           Summary: zpool destroy on a pool has an encrypted dataset
                    (keyscope=pool) causes panic
    Classification: Development
           Product: zfs-crypto
           Version: unspecified
          Platform: Other
        OS/Version: Solaris
            Status: NEW
          Severity: critical
          Priority: P1
         Component: other
        AssignedTo: darrenm at opensolaris.org
        ReportedBy: hua.tang at sun.com
         QAContact: hua.tang at sun.com
                CC: zfs-crypto-discuss at opensolaris.org
   Estimated Hours: 0.0


panic[cpu2]/thread=ffffff021522b760: assertion failed: key->zk_refcnt == 0 (0x1
== 0x0), file: ../../common/fs/zfs/zio_crypt.c, line: 81

ffffff0005795ab0 genunix:assfail3+b9 ()
ffffff0005795ae0 zfs:zio_crypt_key_free+a1 ()
ffffff0005795b30 zfs:spa_keystore_fini+c4 ()
ffffff0005795b70 zfs:spa_unload+60 ()
ffffff0005795bd0 zfs:spa_export_common+1ba ()
ffffff0005795bf0 zfs:spa_destroy+19 ()
ffffff0005795c20 zfs:zfs_ioc_pool_destroy+1e ()
ffffff0005795ca0 zfs:zfsdev_ioctl+162 ()
ffffff0005795ce0 genunix:cdev_ioctl+48 ()
ffffff0005795d20 specfs:spec_ioctl+86 ()
ffffff0005795da0 genunix:fop_ioctl+7b ()
ffffff0005795eb0 genunix:ioctl+174 ()
ffffff0005795f00 unix:brand_sys_syscall32+292 ()

I have seen this panic several times. But I couldn't located the root cause
because after this panic the test machine couldn't be recovered.

>From the test journal file, I suspects the panic is caused by 'zpool destroy'
on a pool who has an encrypted dataset with keyscope=pool.

My test machine couldn't be boot. It hanged.

unOS Release 5.11 Version zfs-crypto-gate 64-bit                          
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.                
Use is subject to license terms.                                                
DEBUG enabled

I booted up from failsafe. The pool created in my test case was already
destroyed. 
# zpool import -d /a/var/tmp/zfs-crypto
no pools available to import

But there was /a/etc/zfs/zpool.cache.
# ls /a/etc/zfs
zpool.cache

After deleting zpool.cache, the test machine wasn't booted up. Still hanged.

This panic affected the testing very seriously because each test case should
destroy the pool and the test machine couldn't be recover.

Is there any workarounds?

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Reply via email to