Date: Mon, 21 Apr 2025 15:37:55 -0700 From: Rick Macklem <rick.macklem@gmail.com> To: FreeBSD CURRENT <freebsd-current@freebsd.org>, Konstantin Belousov <kib@freebsd.org> Subject: LK_RETRY set in cn_lkflags for VOP_LOOKUP? Message-ID: <CAM5tNy5JPkH3Na5thOQ=uZ694eZ%2B_JKCs4VqDDfrvsQvLOd91g@mail.gmail.com>
index | next in thread | raw e-mail
Hi, I just spotted something in the NFS server that seems like it is a bug, but I thought I'd check. (Note that I have never seen this cause a problem, but I think it might if a server file system is being forced dismounted while the NFS server is accessing it.) What I spotted was a few places where: cnp->cn_lkflags = LK_SHARED | LK_RETRY; ... error = VOP_LOOKUP(..); I don't think LK_RETRY should be set here. For example vget_finish() uses the flags argument for a "error = vn_lock(..flags);", which would retry instead of returning an error when the vnode is VI_DOOMED. So, is this a bug that needs to be fixed? Thanks, rickhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM5tNy5JPkH3Na5thOQ=uZ694eZ%2B_JKCs4VqDDfrvsQvLOd91g>
