freebsd-dev/sys
Andriy Gapon f4043145f2 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
2018-03-28 08:55:31 +00:00
..
amd64 Remove very old and unused signal information codes. 2018-03-27 20:57:51 +00:00
arm aw_sid(4): Release resources and destroy mutex on failure 2018-03-26 14:03:39 +00:00
arm64 Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
bsm sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
cam Flag when we have a pending TUR. Don't schedule another one when we 2018-03-23 16:23:15 +00:00
cddl ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count 2018-03-28 08:55:31 +00:00
compat Fix several leaks of kernel stack data through paddings. 2018-03-27 18:05:51 +00:00
conf [iwm] Add support for iwm 3168 cards 2018-03-28 07:59:16 +00:00
contrib [iwm] Add support for iwm 3168 cards 2018-03-28 07:59:16 +00:00
crypto MFV: libb2: use native calls for secure memory clearance 2018-03-27 14:55:01 +00:00
ddb db_script_exec: use a saved script name when reporting commands executed 2018-03-04 13:27:21 +00:00
dev [iwm] Add support for iwm 3168 cards 2018-03-28 07:59:16 +00:00
dts Add dtb overlays support 2018-03-24 21:30:24 +00:00
fs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom When freeing a superblock returned by ffs_sbget, be sure to also 2018-03-24 15:36:25 +00:00
gnu bwn(4): txpid2g/txpid5g[lh] are not defined after sromrev 7; the default 2018-02-13 17:43:54 +00:00
i386 Remove very old and unused signal information codes. 2018-03-27 20:57:51 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count 2018-03-28 08:55:31 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern iconv uses strlen directly on user supplied memory 2018-02-26 18:23:36 +00:00
mips Move remaining EF_MIPS_* flags to <sys/elf_common.h>. 2018-03-23 19:31:52 +00:00
modules [iwm] Add support for iwm 3168 cards 2018-03-28 07:59:16 +00:00
net Improve copy-and-pasted versions of SIOCGIFADDR. 2018-03-27 20:51:49 +00:00
net80211 net80211: wrap protection frame allocation into ieee80211_alloc_prot() 2018-03-09 11:33:56 +00:00
netgraph Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
netinet CC Cubic: fix underflow for cubic_cwnd() 2018-03-26 19:53:36 +00:00
netinet6 This change adds a flag to the DAD entry to indicate whether it is 2018-03-24 13:18:09 +00:00
netipsec Set the proper vnet in IPsec callback functions. 2018-03-20 17:05:23 +00:00
netpfil netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
netsmb Unsign some values related to allocation. 2018-01-22 02:08:10 +00:00
nfs Modernize nfssvc(2) registartion. 2018-02-08 20:09:42 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed Improve copy-and-pasted versions of SIOCGIFADDR. 2018-03-27 20:51:49 +00:00
opencrypto opencrypto: Add mechanism to pass multiple crypto blocks to some ciphers 2018-03-27 17:58:00 +00:00
powerpc Debug interrupts aren't instruction traps 2018-03-23 00:40:08 +00:00
riscv Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
rpc Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
security audit(4): fix a typo in a comment 2018-03-17 17:56:08 +00:00
sparc64 Mark psycho interrupts as MPSAFE. It's safe to do so now that we don't 2018-03-21 14:47:17 +00:00
sys ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count 2018-03-28 08:55:31 +00:00
teken sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
tests
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
vm Move vm_ndomains to vm.h where it can be used with a single header include 2018-03-27 03:27:02 +00:00
x86 Remove very old and unused signal information codes. 2018-03-27 20:57:51 +00:00
xdr sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
xen sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
Makefile Move sys/boot to stand. Fix all references to new location 2017-11-14 23:02:19 +00:00