Project

General

Profile

Bug #7301

zpool export -f should be able to interrupt file freeing

Added by Alek Pinchuk over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2016-08-13
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

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

Related to illumos gate - Bug #6569: large file delete can starve out write opsClosedAlek Pinchuk2016-01-20

Actions

Also available in: Atom PDF