From 27d9c6ae2be9368524c9dff800071a8eac5bea09 Mon Sep 17 00:00:00 2001 From: Ryan Moeller Date: Mon, 25 Oct 2021 12:46:28 -0400 Subject: [PATCH] FreeBSD: Catch up with recent VFS changes cn_thread is always curthread. https://cgit.freebsd.org/src/commit?id=b4a58fbf640409a1e507d9f7b411c83a3f83a2f3 https://cgit.freebsd.org/src/commit?id=2b68eb8e1dbbdaf6a0df1c83b26f5403ca52d4c3 Reviewed-by: Alexander Motin Reviewed-by: Alan Somers Signed-off-by: Ryan Moeller Closes #12668 --- module/os/freebsd/zfs/zfs_file_os.c | 4 ++++ module/os/freebsd/zfs/zfs_vnops_os.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/module/os/freebsd/zfs/zfs_file_os.c b/module/os/freebsd/zfs/zfs_file_os.c index a3d67aaa11ba..fd86a75416e6 100644 --- a/module/os/freebsd/zfs/zfs_file_os.c +++ b/module/os/freebsd/zfs/zfs_file_os.c @@ -207,7 +207,11 @@ zfs_file_getattr(zfs_file_t *fp, zfs_file_attr_t *zfattr) td = curthread; +#if __FreeBSD_version < 1400037 rc = fo_stat(fp, &sb, td->td_ucred, td); +#else + rc = fo_stat(fp, &sb, td->td_ucred); +#endif if (rc) return (SET_ERROR(rc)); zfattr->zfa_size = sb.st_size; diff --git a/module/os/freebsd/zfs/zfs_vnops_os.c b/module/os/freebsd/zfs/zfs_vnops_os.c index be825304484e..7aeb6ca3f8df 100644 --- a/module/os/freebsd/zfs/zfs_vnops_os.c +++ b/module/os/freebsd/zfs/zfs_vnops_os.c @@ -1338,7 +1338,9 @@ zfs_lookup_internal(znode_t *dzp, const char *name, vnode_t **vpp, cnp->cn_flags = ISLASTCN | SAVENAME; cnp->cn_lkflags = LK_EXCLUSIVE | LK_RETRY; cnp->cn_cred = kcred; +#if __FreeBSD_version < 1400037 cnp->cn_thread = curthread; +#endif if (zfsvfs->z_use_namecache && !zfsvfs->z_replay) { struct vop_lookup_args a; @@ -4593,7 +4595,7 @@ zfs_freebsd_lookup(struct vop_lookup_args *ap, boolean_t cached) strlcpy(nm, cnp->cn_nameptr, MIN(cnp->cn_namelen + 1, sizeof (nm))); return (zfs_lookup(ap->a_dvp, nm, ap->a_vpp, cnp, cnp->cn_nameiop, - cnp->cn_cred, cnp->cn_thread, 0, cached)); + cnp->cn_cred, curthread, 0, cached)); } static int