git: 8c9d74634ab7 - main - vfs: stop open-coding setting WILLBEDIR flag
Mateusz Guzik
mjg at FreeBSD.org
Mon Dec 28 02:03:18 UTC 2020
The branch main has been updated by mjg:
URL: https://cgit.FreeBSD.org/src/commit/?id=8c9d74634ab7121d887cf539c02af87a394900d9
commit 8c9d74634ab7121d887cf539c02af87a394900d9
Author: Mateusz Guzik <mjg at FreeBSD.org>
AuthorDate: 2020-12-28 01:17:15 +0000
Commit: Mateusz Guzik <mjg at FreeBSD.org>
CommitDate: 2020-12-28 01:53:27 +0000
vfs: stop open-coding setting WILLBEDIR flag
---
sys/kern/vfs_syscalls.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 5a30b06e4e9e..ce5da109f168 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -3610,6 +3610,7 @@ kern_renameat(struct thread *td, int oldfd, const char *old, int newfd,
struct mount *mp = NULL;
struct vnode *tvp, *fvp, *tdvp;
struct nameidata fromnd, tond;
+ u_int64_t tondflags;
int error;
again:
@@ -3630,11 +3631,11 @@ again:
}
#endif
fvp = fromnd.ni_vp;
- NDINIT_ATRIGHTS(&tond, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE |
- SAVESTART | AUDITVNODE2, pathseg, new, newfd,
- &cap_renameat_target_rights, td);
+ tondflags = LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART | AUDITVNODE2;
if (fromnd.ni_vp->v_type == VDIR)
- tond.ni_cnd.cn_flags |= WILLBEDIR;
+ tondflags |= WILLBEDIR;
+ NDINIT_ATRIGHTS(&tond, RENAME, tondflags, pathseg, new, newfd,
+ &cap_renameat_target_rights, td);
if ((error = namei(&tond)) != 0) {
/* Translate error code for rename("dir1", "dir2/."). */
if (error == EISDIR && fvp->v_type == VDIR)
@@ -3776,9 +3777,8 @@ kern_mkdirat(struct thread *td, int fd, const char *path, enum uio_seg segflg,
restart:
bwillwrite();
NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | SAVENAME | AUDITVNODE1 |
- NC_NOMAKEENTRY | NC_KEEPPOSENTRY | FAILIFEXISTS, segflg, path, fd,
- &cap_mkdirat_rights, td);
- nd.ni_cnd.cn_flags |= WILLBEDIR;
+ NC_NOMAKEENTRY | NC_KEEPPOSENTRY | FAILIFEXISTS | WILLBEDIR,
+ segflg, path, fd, &cap_mkdirat_rights, td);
if ((error = namei(&nd)) != 0)
return (error);
if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
More information about the dev-commits-src-main
mailing list