Project

General

Profile

Bug #7301

zpool export -f should be able to interrupt file freeing

Added by Alek Pinchuk about 3 years ago. Updated almost 3 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:

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 opsClosed2016-01-20

Actions

History

#1

Updated by Alek Pinchuk about 3 years ago

  • Related to Bug #6569: large file delete can starve out write ops added
#2

Updated by Electric Monk almost 3 years ago

  • Status changed from New to Closed
  • % Done changed from 80 to 100

git commit eb721827677c553ce8dd0d4390630a857f923f98

commit  eb721827677c553ce8dd0d4390630a857f923f98
Author: Alek Pinchuk <alek@nexenta.com>
Date:   2016-09-28T18:07:12.000Z

    7301 zpool export -f should be able to interrupt file freeing
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
    Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
    Reviewed by: John Kennedy <john.kennedy@delphix.com>
    Approved by: Gordon Ross <gordon.ross@nexenta.com>

Also available in: Atom PDF