]> git.proxmox.com Git - mirror_zfs.git/commit
zfs_enter rework
authorChunwei Chen <tuxoko@gmail.com>
Fri, 16 Sep 2022 20:36:47 +0000 (13:36 -0700)
committerGitHub <noreply@github.com>
Fri, 16 Sep 2022 20:36:47 +0000 (13:36 -0700)
commit768eacedef54922962562e601ca2c3366c4bcc4b
treece625415ee93fd7c03c35526e048daf7c9ddefbc
parentb24d1c77f7fc53d26ee915b5203a139f13fd9791
zfs_enter rework

Replace ZFS_ENTER and ZFS_VERIFY_ZP, which have hidden returns, with
functions that return error code. The reason we want to do this is
because hidden returns are not obvious and had caused some missing fail
path unwinding.

This patch changes the common, linux, and freebsd parts. Also fixes
fail path unwinding in zfs_fsync, zpl_fsync, zpl_xattr_{list,get,set}, and
zfs_lookup().

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Closes #13831
15 files changed:
include/os/freebsd/zfs/sys/zfs_znode_impl.h
include/os/linux/zfs/sys/zfs_znode_impl.h
include/sys/zfs_znode.h
module/os/freebsd/zfs/zfs_ctldir.c
module/os/freebsd/zfs/zfs_vfsops.c
module/os/freebsd/zfs/zfs_vnops_os.c
module/os/linux/zfs/zfs_acl.c
module/os/linux/zfs/zfs_ctldir.c
module/os/linux/zfs/zfs_vfsops.c
module/os/linux/zfs/zfs_vnops_os.c
module/os/linux/zfs/zpl_ctldir.c
module/os/linux/zfs/zpl_file.c
module/os/linux/zfs/zpl_super.c
module/os/linux/zfs/zpl_xattr.c
module/zfs/zfs_vnops.c