Eugene M. Zheganin
2016-Aug-18 14:58 UTC
cannot destroy '<dataset name>': dataset is busy vs iSCSI
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.
Edward Tomasz NapieraĆa
2016-Aug-19 08:23 UTC
cannot destroy '<dataset name>': dataset is busy vs iSCSI
On 0818T1958, Eugene M. Zheganin wrote:> 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.Could you do "ctladm devlist -v" and see if the LUN for this file somehow didn't get removed?