opnsense-src/sys/fs/ext2fs
Konstantin Belousov 6470c8d3db Rework v_object lifecycle for vnodes.
Current implementation of vnode_create_vobject() and
vnode_destroy_vobject() is written so that it prepared to handle the
vm object destruction for live vnode.  Practically, no filesystems use
this, except for some remnants that were present in UFS till today.
One of the consequences of that model is that each filesystem must
call vnode_destroy_vobject() in VOP_RECLAIM() or earlier, as result
all of them get rid of the v_object in reclaim.

Move the call to vnode_destroy_vobject() to vgonel() before
VOP_RECLAIM().  This makes v_object stable: either the object is NULL,
or it is valid vm object till the vnode reclamation.  Remove code from
vnode_create_vobject() to handle races with the parallel destruction.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D21412
2019-08-29 07:50:25 +00:00
..
ext2_acl.c SPDX: Complete license IDs for ext2fs. 2017-12-02 17:22:55 +00:00
ext2_acl.h SPDX: Complete license IDs for ext2fs. 2017-12-02 17:22:55 +00:00
ext2_alloc.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_balloc.c Remove ufs fragments logic. 2019-07-07 08:56:13 +00:00
ext2_bmap.c Fix EXT2FS_DEBUG definition usage. 2018-05-13 19:19:10 +00:00
ext2_csum.c Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
ext2_dinode.h Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
ext2_dir.h Split the dir_index and dir_nlink features. 2018-08-08 12:08:46 +00:00
ext2_extattr.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_extattr.h Add metadata_csum feature support. 2018-01-14 20:46:39 +00:00
ext2_extents.c ext2fs: Initial version of DTrace support. 2019-04-16 11:37:15 +00:00
ext2_extents.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_extern.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_hash.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_htree.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_inode.c Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
ext2_inode_cnv.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_lookup.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_mount.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ext2_subr.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_vfsops.c Add additional check for 'blocks per group' and 'fragments per group' superblock fields. 2019-07-07 08:58:02 +00:00
ext2_vnops.c Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
ext2fs.h Add additional on-disk inode checks. 2019-03-04 10:55:01 +00:00
fs.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
htree.h Add metadata_csum feature support. 2018-01-14 20:46:39 +00:00
inode.h Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00