diff options
author | Brian Behlendorf <[email protected]> | 2014-09-08 18:31:27 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-09-11 09:11:45 -0700 |
commit | 2d501583430e54be39c6aed033fc6f841e469f23 (patch) | |
tree | 288e68f21f376565000c08c8448854c0bb1e9453 /man/man8 | |
parent | 52dd454d05a14813ed74e93dfca6ac2994333c4d (diff) |
Fix z_teardown_inactive_lock deadlock
When rolling back a mounted filesystem zfs_suspend() is called
which acquires the z_teardown_inactive_lock. This lock can not
be dropped until the filesystem has been rolled back and resumed
in zfs_resume_fs().
Therefore, we must not call iput() under this lock because it
may result in the inode->evict() handler being called which also
takes this lock. Instead use zfs_iput_async() to ensure dropping
the last reference is deferred and runs in a safe context.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #2670
Diffstat (limited to 'man/man8')
0 files changed, 0 insertions, 0 deletions