cannot destroy '<dataset name>': dataset is busy vs iSCSI

Eugene M. Zheganin emz at norma.perm.ru
Thu Aug 18 14:58:59 UTC 2016


Hi.

I'm using zvol clones with iSCSI. Perdiodically I renew them and destroy
the old ones, but sometimes the clone gets stuck and refuses to be
destroyed:

(I'm showing the full sequence so it's self explanatory who is who's parent)

[root at san2:/etc]# zfs destroy esx/games-reference1 at ver5_6       
cannot destroy 'esx/games-reference1 at ver5_6': snapshot has dependent clones
use '-R' to destroy the following datasets:
esx/games-reference1-ver5_6-worker111
[root at san2:/etc]# zfs destroy esx/games-reference1-ver5_6-worker111
cannot destroy 'esx/games-reference1-ver5_6-worker111': dataset is busy

The only entity that can hold the dataset open is ctld, so:

[root at san2:/etc]# service ctld reload                                    
[root at san2:/etc]# grep esx/games-reference1-ver5_6-worker111 /etc/ctl.conf
[root at san2:/etc]# zfs destroy esx/games-reference1-ver5_6-worker111      
cannot destroy 'esx/games-reference1-ver5_6-worker111': dataset is busy

As you can see, the clone isn't mentioned in ctl.conf, but still refuses
to be destroyed.
Is there any way to destroy it without restarting ctld or rebooting the
server ? iSCSI is vital for production, but clones sometimes holds lot
of space.

Thanks.
Eugene.


More information about the freebsd-fs mailing list