aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2021-04-22 13:18:39 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2021-05-22 18:30:50 +0000
commita9d418fbb843927fe193d19616ddef48c50ae206 (patch)
tree04809a5f848b374affc3fba8f000867d54ac5fb6
parentd2e0a3bb2194f1d938aacbd48afbab758f9f2314 (diff)
downloadsrc-a9d418fbb843927fe193d19616ddef48c50ae206.tar.gz
src-a9d418fbb843927fe193d19616ddef48c50ae206.zip
zfs: use vn_seqc_read_notmodify for racing .. lookups
Catching an in-flight unlocked vnode is fine here. Reported by; pho (cherry picked from commit 7ea3223c7822d20acfc907683fd0153d623185b3)
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
index a1e9c359b893..50454cad2468 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
@@ -807,7 +807,7 @@ zfs_lookup(vnode_t *dvp, const char *nm, vnode_t **vpp,
ZFS_ENTER(zfsvfs);
ZFS_VERIFY_ZP(zdp);
- dvp_seqc = vn_seqc_read_any(dvp);
+ dvp_seqc = vn_seqc_read_notmodify(dvp);
*vpp = NULL;