HomeFreeBSD

ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count

Description

ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count

It's not sufficient nor required to use the vnode interlock when
checking if we are going to drop the last use count as the code in
vputx() uses refcount (atomic) operations for both checking and
decrementing the use code. Apply the same method to vn_rele_async().
While here, remove vn_rele_inactive(), a wrapper around vrele() that
didn't add any value.

Also, the change required making vfs_refcount_release_if_not_last()
public. I've made vfs_refcount_acquire_if_not_zero() public as well.
They are in sys/refcount.h now. While making the move I've dropped the
vfs_ prefix.

Reviewed by: mjg
MFC after: 2 weeks
Sponsored by: Panzura
Differential Revision: https://reviews.freebsd.org/D14869

Details

Provenance
avgAuthored on
Reviewer
mjg
Differential Revision
D14869: ZFS vn_rele_async: ctach up with the use of atomics for the vnode use count
Parents
rS331665: [iwm] Add support for iwm 3168 cards
Branches
Unknown
Tags
Unknown