HomeFreeBSD

FreeBSD: Fix a pair of bugs in zfs_fhtovp()

Description

FreeBSD: Fix a pair of bugs in zfs_fhtovp()

  • Add a zfs_exit() call in an error path, otherwise a lock is leaked.
  • Remove the fid_gen > 1 check. That appears to be Linux-specific: zfsctl_snapdir_fid() sets fid_gen to 0 or 1 depending on whether the snapshot directory is mounted. On FreeBSD it fails, making snapshot dirs inaccessible via NFS.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Andriy Gapon <avg@FreeBSD.org>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Fixes: 43dbf8817808 ("FreeBSD: vfsops: use setgen for error case")
Closes #14001
Closes #13974

Details

Provenance
markjAuthored on Oct 11 2022, 7:29 PM
GitHub <noreply@github.com>Committed on Oct 11 2022, 7:29 PM
Parents
rG4dcc2bde9c83: Stop ganging due to past vdev write errors
Branches
Unknown
Tags
Unknown