Allow force deletion of datasets in middleware and alert If busy
As mentioned by John Sanderson, it would be nice to have the middleware properly detect if we cannot delete a clone or dataset if its busy, and then provide an option to "force". Example being when somebody left a SSH session open with their shell still sitting on the cloned dataset mountpoint. They had no idea it was still running but then the UI couldn't unmount and remove the clone properly.
#1 Updated by Alexander Motin over 2 years ago
I suppose the original problem was in just missing error reporting. Having busy status reported could make behavior more user-friendly, and it would be a reasonable minimum to expect.
What's about further improvements, I guess we could parse fstat output to find processes having files open, but not sure how informative it can be for average end user. Also not sure how full is that information, since it seems at least ZVOLs files opened by kernel are not reported there.
One more related issue is that IIRC forceful destruction for ZVOLs is not working at this point due to the way they are implemented on FreeBSD. It would be nice to have, but would require non-trivial changes.