zfsonfreebsd/ZoF

Cannot destroy pool with dedup allocation class vdev

Closed this issue · 1 comments

allocation_class_013_pos fails on FreeBSD after creating a pool with a "dedup" allocation class vdev and a zvol with dedup=on.
The vdev cannot be removed in the test, and in fact the pool is indestructible:

truncate -s 1g disk0 disk1
zpool create testpool `pwd`/disk0 dedup `pwd`/disk1
zfs create -V 128m -o dedup=on testpool/testvol
zpool destroy -f testpool # fails "cannot destroy 'testpool': pool is busy"
doas zpool create testpool `pwd`/disk0 dedup `pwd`/disk1                
mmacy@beastie3 [~/devel/ZoF/module|0:27|20] doas zfs create -V 128m -o dedup=on testpool/testvol
mmacy@beastie3 [~/devel/ZoF/module|0:27|21] doas zpool destroy -f testpool
mmacy@beastie3 [~/devel/ZoF/module|0:27|22] df -h                       
Filesystem     Size    Used   Avail Capacity  Mounted on                
/dev/ada0p2     22G     13G    7.9G    61%    /                         
devfs          1.0K    1.0K      0B   100%    /dev                      
mmacy@beastie3 [~/devel/ZoF/module|0:27|23] zpool list                  
no pools available