zfs: Fix a pair of bugs in zfs_fhtovp()
This cherry-picks upstream ed566bf1cd0bdbf85e8c63c1c119e3d2ef5db1f6
- 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.
Approved by: so
PR: 266236
Security: FreeBSD-EN-22:24.zfs
(cherry picked from commit 6fe0a6c80a1aff14236924eb33e4013aa8c14f91)
(cherry picked from commit 562c9ac58c7678b13f52b0bfe63148e40d7bf63d)