zfsonlinux/zfs — pull request #2408 by ryao (2014-06-20 00:01:35+00:00)
Title: Revert "Revert "Revert "Fix unlink/xattr deadlock"""

This reverts commit 7973e464de4f93b6e669f7f04a316e013767224e. That had
been intended to workaround a deadlock issue involving zfs_zget(), which
was fixed by 6f9548c487dbcf958f2f226c5f1eac2b85f8f78e. The workaround
had the side effect of causing zfs_zinactive() to cause excessive cpu
utilization in zfs_iput_taskq by queuing an iteration of all objects in
a dataset on every unlink on a directory that had extended attributes.
That resulted in many issue reports about iput_taskq spinning. Since the
original rationale for the change is no longer valid, we can safely
revert it to resolve all of those issue reports.

Conflicts:
module/zfs/zfs_dir.c

Closes:
zfsonlinux/zfs#457
zfsonlinux/zfs#2058
zfsonlinux/zfs#2128
zfsonlinux/zfs#2240