git: 85dac03e30e6 - main - vfs: stop using NDFREE
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 19 Dec 2022 08:14:37 UTC
The branch main has been updated by mjg:
URL: https://cgit.FreeBSD.org/src/commit/?id=85dac03e30e6aebdf0808cd750cc5ab96efcb67c
commit 85dac03e30e6aebdf0808cd750cc5ab96efcb67c
Author: Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2022-11-17 16:58:28 +0000
Commit: Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2022-12-19 08:07:23 +0000
vfs: stop using NDFREE
It provides nothing but a branchfest and next to no consumers want it
anyway.
Tested by: pho
---
sys/kern/vfs_acl.c | 11 +++++++----
sys/kern/vfs_cache.c | 4 +++-
sys/kern/vfs_extattr.c | 8 +++++---
sys/kern/vfs_subr.c | 3 ++-
sys/security/mac/mac_syscalls.c | 7 ++++---
5 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/sys/kern/vfs_acl.c b/sys/kern/vfs_acl.c
index dffce9d29291..e5470bd11438 100644
--- a/sys/kern/vfs_acl.c
+++ b/sys/kern/vfs_acl.c
@@ -380,7 +380,8 @@ kern___acl_get_path(struct thread *td, const char *path, acl_type_t type,
error = namei(&nd);
if (error == 0) {
error = vacl_get_acl(td, nd.ni_vp, type, aclp);
- NDFREE(&nd, 0);
+ vrele(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
}
return (error);
}
@@ -418,7 +419,8 @@ kern___acl_set_path(struct thread *td, const char *path,
error = namei(&nd);
if (error == 0) {
error = vacl_set_acl(td, nd.ni_vp, type, aclp);
- NDFREE(&nd, 0);
+ vrele(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
}
return (error);
}
@@ -494,7 +496,8 @@ kern___acl_delete_path(struct thread *td, const char *path,
error = namei(&nd);
if (error == 0) {
error = vacl_delete(td, nd.ni_vp, type);
- NDFREE(&nd, 0);
+ vrele(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
}
return (error);
}
@@ -551,7 +554,7 @@ kern___acl_aclcheck_path(struct thread *td, const char *path, acl_type_t type,
error = namei(&nd);
if (error == 0) {
error = vacl_aclcheck(td, nd.ni_vp, type, aclp);
- NDFREE(&nd, 0);
+ NDFREE_PNBUF(&nd);
}
return (error);
}
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c
index e58d3f338085..08d7ab2895cd 100644
--- a/sys/kern/vfs_cache.c
+++ b/sys/kern/vfs_cache.c
@@ -3153,7 +3153,9 @@ kern___realpathat(struct thread *td, int fd, const char *path, char *buf,
error = copyout(retbuf, buf, size);
free(freebuf, M_TEMP);
}
- NDFREE(&nd, 0);
+ vrele(nd.ni_vp);
+ vrele(nd.ni_dvp);
+ NDFREE_PNBUF(&nd);
return (error);
}
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index d389b33d0634..d190ec60205a 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -108,7 +108,7 @@ sys_extattrctl(struct thread *td, struct extattrctl_args *uap)
if (error)
return (error);
filename_vp = nd.ni_vp;
- NDFREE(&nd, NDF_NO_VP_RELE);
+ NDFREE_PNBUF(&nd);
}
/* uap->path is always defined. */
@@ -120,13 +120,15 @@ sys_extattrctl(struct thread *td, struct extattrctl_args *uap)
mp = nd.ni_vp->v_mount;
error = vfs_busy(mp, 0);
if (error) {
- NDFREE(&nd, 0);
+ vput(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
mp = NULL;
goto out;
}
VOP_UNLOCK(nd.ni_vp);
error = vn_start_write(nd.ni_vp, &mp_writable, V_WAIT | V_PCATCH);
- NDFREE(&nd, NDF_NO_VP_UNLOCK);
+ vrele(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
if (error)
goto out;
if (filename_vp != NULL) {
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 4aea0f263e46..63a30cbbdb3d 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -415,7 +415,8 @@ sysctl_try_reclaim_vnode(SYSCTL_HANDLER_ARGS)
counter_u64_add(recycles_count, 1);
vgone(vp);
putvnode:
- NDFREE(&nd, 0);
+ vput(vp);
+ NDFREE_PNBUF(&nd);
out:
free(buf, M_TEMP);
return (error);
diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c
index 9bc334686aa4..ecb451ac2018 100644
--- a/sys/security/mac/mac_syscalls.c
+++ b/sys/security/mac/mac_syscalls.c
@@ -369,7 +369,8 @@ kern___mac_get_path(struct thread *td, const char *path_p, struct mac *mac_p,
mac_vnode_copy_label(nd.ni_vp->v_label, intlabel);
error = mac_vnode_externalize_label(intlabel, elements, buffer,
mac.m_buflen);
- NDFREE(&nd, 0);
+ vput(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
mac_vnode_label_free(intlabel);
if (error == 0)
@@ -542,9 +543,9 @@ kern___mac_set_path(struct thread *td, const char *path_p, struct mac *mac_p,
td->td_ucred);
vn_finished_write(mp);
}
+ vput(nd.ni_vp);
+ NDFREE_PNBUF(&nd);
}
-
- NDFREE(&nd, 0);
out:
mac_vnode_label_free(intlabel);
return (error);