Bug #7301
zpool export -f should be able to interrupt file freeing
100%
Description
If we delete a large file we should not have to wait for the freeing of this file to be complete before a zpool export -f can succeed.
If we need a deleted file freed we call zfs_inactive() which grabs the z_teardown_inactive_lock as a reader then calls other functions to actually free the file.
During this freeing if we have a "zpool export -f" come in, we will block in zfsvfs_teardown() while trying to acquire the zfsvfs's z_teardown_inactive_lock as a writer. After zfs_inactive() is done we are able to export but the wait can be long depending on how big a file we're freeing.
It would be nice for export -f to be able to interrupt file freeing so that the export is fast even while large file freeing is in progress.
Related issues