summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_vnops.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-01-01 10:44:20 +0000
committerkib <kib@FreeBSD.org>2015-01-01 10:44:20 +0000
commita355201d21e09aeb2af52ffd0c14f90c6c9f338b (patch)
treea2f3efb3e775ec1f6c79f59d8d5d807106d8256b /sys/kern/vfs_vnops.c
parent366f16dd6a08d1eeca56a868ab58114d5d5d2069 (diff)
downloadFreeBSD-src-a355201d21e09aeb2af52ffd0c14f90c6c9f338b.zip
FreeBSD-src-a355201d21e09aeb2af52ffd0c14f90c6c9f338b.tar.gz
MFC r275897:
Set NOCACHE flag for CREATE namei() calls, do not specially handle MAKEENTRY in VOP_LOOKUP().
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r--sys/kern/vfs_vnops.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index 5ebe466..6a89fda 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -187,7 +187,11 @@ restart:
fmode = *flagp;
if (fmode & O_CREAT) {
ndp->ni_cnd.cn_nameiop = CREATE;
- ndp->ni_cnd.cn_flags = ISOPEN | LOCKPARENT | LOCKLEAF;
+ /*
+ * Set NOCACHE to avoid flushing the cache when
+ * rolling in many files at once.
+ */
+ ndp->ni_cnd.cn_flags = ISOPEN | LOCKPARENT | LOCKLEAF | NOCACHE;
if ((fmode & O_EXCL) == 0 && (fmode & O_NOFOLLOW) == 0)
ndp->ni_cnd.cn_flags |= FOLLOW;
if (!(vn_open_flags & VN_OPEN_NOAUDIT))
OpenPOWER on IntegriCloud