Page MenuHomeFreeBSD

D40855.id.diff
No OneTemporary

D40855.id.diff

diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c
--- a/sys/fs/nfsserver/nfs_nfsdport.c
+++ b/sys/fs/nfsserver/nfs_nfsdport.c
@@ -2666,9 +2666,14 @@
(nd->nd_flag & ND_NFSV4) != 0 &&
nvp->v_type == VDIR &&
nvp->v_mountedhere != NULL) {
- new_mp = nvp->v_mountedhere;
- r = vfs_busy(new_mp, 0);
- vput(nvp);
+ bool unlocked;
+
+ r = vn_busy_mountedhere(
+ nvp, &unlocked, &new_mp);
+ if (!unlocked)
+ vput(nvp);
+ else
+ vrele(nvp);
nvp = NULL;
if (r == 0) {
r = VFS_ROOT(new_mp,

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 13, 7:24 PM (17 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33930715
Default Alt Text
D40855.id.diff (616 B)

Event Timeline