]> git.proxmox.com Git - mirror_zfs.git/commit
Add zfs_file_* interface, remove vnodes
authorMatthew Macy <mmacy@freebsd.org>
Thu, 21 Nov 2019 17:32:57 +0000 (09:32 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 21 Nov 2019 17:32:57 +0000 (09:32 -0800)
commitda92d5cbb38cea3a860b8a6bb8ee21f9129e7d7c
treecc2d84b481a30b43d4097603e79a55a1975b0b64
parent67a6c3bc9ff401fa04bc41354c5172b51aaed1c9
Add zfs_file_* interface, remove vnodes

Provide a common zfs_file_* interface which can be implemented on all
platforms to perform normal file access from either the kernel module
or the libzpool library.

This allows all non-portable vnode_t usage in the common code to be
replaced by the new portable zfs_file_t.  The associated vnode and
kobj compatibility functions, types, and macros have been removed
from the SPL.  Moving forward, vnodes should only be used in platform
specific code when provided by the native operating system.

Reviewed-by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Igor Kozhukhov <igor@dilos.org>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9556
53 files changed:
cmd/raidz_test/raidz_test.c
cmd/zdb/zdb.c
cmd/zhack/zhack.c
cmd/ztest/ztest.c
include/os/linux/spl/sys/Makefile.am
include/os/linux/spl/sys/kobj.h [deleted file]
include/os/linux/spl/sys/mode.h [deleted file]
include/os/linux/spl/sys/vnode.h
include/os/linux/zfs/sys/policy.h
include/os/linux/zfs/sys/zfs_vnops.h
include/sys/Makefile.am
include/sys/dmu.h
include/sys/dmu_recv.h
include/sys/spa.h
include/sys/spa_impl.h
include/sys/vdev_file.h
include/sys/vdev_impl.h
include/sys/zfs_context.h
include/sys/zfs_file.h [new file with mode: 0644]
include/sys/zil.h
lib/libspl/include/os/linux/sys/Makefile.am
lib/libspl/include/os/linux/sys/file.h [deleted file]
lib/libzpool/kernel.c
module/os/linux/spl/Makefile.in
module/os/linux/spl/spl-generic.c
module/os/linux/spl/spl-kobj.c [deleted file]
module/os/linux/spl/spl-vnode.c [deleted file]
module/os/linux/zfs/Makefile.in
module/os/linux/zfs/mmp_os.c
module/os/linux/zfs/policy.c
module/os/linux/zfs/spa_misc_os.c
module/os/linux/zfs/vdev_disk.c
module/os/linux/zfs/vdev_file.c
module/os/linux/zfs/zfs_acl.c
module/os/linux/zfs/zfs_dir.c
module/os/linux/zfs/zfs_file_os.c [new file with mode: 0644]
module/os/linux/zfs/zfs_ioctl_os.c
module/os/linux/zfs/zfs_onexit_os.c
module/os/linux/zfs/zfs_vnops.c
module/os/linux/zfs/zfs_znode.c
module/os/linux/zfs/zpl_file.c
module/zfs/arc.c
module/zfs/dmu_diff.c
module/zfs/dmu_recv.c
module/zfs/dsl_crypt.c
module/zfs/fm.c
module/zfs/spa.c
module/zfs/spa_config.c
module/zfs/spa_misc.c
module/zfs/vdev_label.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_log.c
module/zfs/zfs_replay.c