Module Name:    src
Committed By:   christos
Date:           Wed Sep 18 17:59:15 UTC 2019

Modified Files:
        src/sys/fs/msdosfs: msdosfs_vnops.c
        src/sys/fs/tmpfs: tmpfs_subr.c
        src/sys/fs/udf: udf_subr.c
        src/sys/ufs/chfs: chfs_vnode.c
        src/sys/ufs/ext2fs: ext2fs_vnops.c
        src/sys/ufs/lfs: lfs_vnops.c
        src/sys/ufs/ufs: ufs_vnops.c

Log Message:
Add newly created vnodes to the namei cache. The rest of the filesystems
already did that (or they don't support writing). Discussed in tech-kern.


To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/sys/fs/msdosfs/msdosfs_vnops.c
cvs rdiff -u -r1.104 -r1.105 src/sys/fs/tmpfs/tmpfs_subr.c
cvs rdiff -u -r1.146 -r1.147 src/sys/fs/udf/udf_subr.c
cvs rdiff -u -r1.15 -r1.16 src/sys/ufs/chfs/chfs_vnode.c
cvs rdiff -u -r1.129 -r1.130 src/sys/ufs/ext2fs/ext2fs_vnops.c
cvs rdiff -u -r1.324 -r1.325 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -u -r1.247 -r1.248 src/sys/ufs/ufs/ufs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/msdosfs/msdosfs_vnops.c
diff -u src/sys/fs/msdosfs/msdosfs_vnops.c:1.98 src/sys/fs/msdosfs/msdosfs_vnops.c:1.99
--- src/sys/fs/msdosfs/msdosfs_vnops.c:1.98	Tue Apr 25 23:02:48 2017
+++ src/sys/fs/msdosfs/msdosfs_vnops.c	Wed Sep 18 13:59:14 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: msdosfs_vnops.c,v 1.98 2017/04/26 03:02:48 riastradh Exp $	*/
+/*	$NetBSD: msdosfs_vnops.c,v 1.99 2019/09/18 17:59:14 christos Exp $	*/
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.98 2017/04/26 03:02:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.99 2019/09/18 17:59:14 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -153,6 +153,8 @@ msdosfs_create(void *v)
 		goto bad;
 	VN_KNOTE(ap->a_dvp, NOTE_WRITE);
 	*ap->a_vpp = DETOV(dep);
+	cache_enter(ap->a_dvp, *ap->a_vpp, cnp->cn_nameptr, cnp->cn_namelen,
+	    cnp->cn_flags);
 	return (0);
 
 bad:

Index: src/sys/fs/tmpfs/tmpfs_subr.c
diff -u src/sys/fs/tmpfs/tmpfs_subr.c:1.104 src/sys/fs/tmpfs/tmpfs_subr.c:1.105
--- src/sys/fs/tmpfs/tmpfs_subr.c:1.104	Tue Jan  1 05:06:54 2019
+++ src/sys/fs/tmpfs/tmpfs_subr.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: tmpfs_subr.c,v 1.104 2019/01/01 10:06:54 hannken Exp $	*/
+/*	$NetBSD: tmpfs_subr.c,v 1.105 2019/09/18 17:59:15 christos Exp $	*/
 
 /*
  * Copyright (c) 2005-2013 The NetBSD Foundation, Inc.
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.104 2019/01/01 10:06:54 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmpfs_subr.c,v 1.105 2019/09/18 17:59:15 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/cprng.h>
@@ -434,6 +434,7 @@ tmpfs_construct_node(vnode_t *dvp, vnode
 
 	VOP_UNLOCK(*vpp);
 
+	cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
 	return 0;
 }
 

Index: src/sys/fs/udf/udf_subr.c
diff -u src/sys/fs/udf/udf_subr.c:1.146 src/sys/fs/udf/udf_subr.c:1.147
--- src/sys/fs/udf/udf_subr.c:1.146	Mon Jun  3 02:04:20 2019
+++ src/sys/fs/udf/udf_subr.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_subr.c,v 1.146 2019/06/03 06:04:20 msaitoh Exp $ */
+/* $NetBSD: udf_subr.c,v 1.147 2019/09/18 17:59:15 christos Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.146 2019/06/03 06:04:20 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.147 2019/09/18 17:59:15 christos Exp $");
 #endif /* not lint */
 
 
@@ -5963,6 +5963,7 @@ udf_create_node(struct vnode *dvp, struc
 	/* adjust file count */
 	udf_adjust_filecount(udf_node, 1);
 
+	cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
 	return 0;
 }
 

Index: src/sys/ufs/chfs/chfs_vnode.c
diff -u src/sys/ufs/chfs/chfs_vnode.c:1.15 src/sys/ufs/chfs/chfs_vnode.c:1.16
--- src/sys/ufs/chfs/chfs_vnode.c:1.15	Sat Apr  1 15:35:57 2017
+++ src/sys/ufs/chfs/chfs_vnode.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: chfs_vnode.c,v 1.15 2017/04/01 19:35:57 riastradh Exp $	*/
+/*	$NetBSD: chfs_vnode.c,v 1.16 2019/09/18 17:59:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -310,6 +310,8 @@ chfs_makeinode(int mode, struct vnode *d
 
 	VOP_UNLOCK(vp);
 	*vpp = vp;
+	cache_enter(pdir, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
+	    cnp->cn_flags);
 	return (0);
 }
 

Index: src/sys/ufs/ext2fs/ext2fs_vnops.c
diff -u src/sys/ufs/ext2fs/ext2fs_vnops.c:1.129 src/sys/ufs/ext2fs/ext2fs_vnops.c:1.130
--- src/sys/ufs/ext2fs/ext2fs_vnops.c:1.129	Tue Jan  1 05:06:55 2019
+++ src/sys/ufs/ext2fs/ext2fs_vnops.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_vnops.c,v 1.129 2019/01/01 10:06:55 hannken Exp $	*/
+/*	$NetBSD: ext2fs_vnops.c,v 1.130 2019/09/18 17:59:15 christos Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.129 2019/01/01 10:06:55 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.130 2019/09/18 17:59:15 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1045,6 +1045,7 @@ ext2fs_makeinode(struct vattr *vap, stru
 	}
 
 	*vpp = tvp;
+	cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
 	return 0;
 
 bad:

Index: src/sys/ufs/lfs/lfs_vnops.c
diff -u src/sys/ufs/lfs/lfs_vnops.c:1.324 src/sys/ufs/lfs/lfs_vnops.c:1.325
--- src/sys/ufs/lfs/lfs_vnops.c:1.324	Wed Jun 19 20:49:11 2019
+++ src/sys/ufs/lfs/lfs_vnops.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_vnops.c,v 1.324 2019/06/20 00:49:11 christos Exp $	*/
+/*	$NetBSD: lfs_vnops.c,v 1.325 2019/09/18 17:59:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -125,7 +125,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.324 2019/06/20 00:49:11 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.325 2019/09/18 17:59:15 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -405,6 +405,7 @@ lfs_makeinode(struct vattr *vap, struct 
 	if (error)
 		goto bad;
 	*vpp = tvp;
+	cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
 	KASSERT(VOP_ISLOCKED(*vpp) == LK_EXCLUSIVE);
 	return (0);
 

Index: src/sys/ufs/ufs/ufs_vnops.c
diff -u src/sys/ufs/ufs/ufs_vnops.c:1.247 src/sys/ufs/ufs/ufs_vnops.c:1.248
--- src/sys/ufs/ufs/ufs_vnops.c:1.247	Sun Jun 30 20:57:06 2019
+++ src/sys/ufs/ufs/ufs_vnops.c	Wed Sep 18 13:59:15 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_vnops.c,v 1.247 2019/07/01 00:57:06 dholland Exp $	*/
+/*	$NetBSD: ufs_vnops.c,v 1.248 2019/09/18 17:59:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.247 2019/07/01 00:57:06 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.248 2019/09/18 17:59:15 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1909,6 +1909,7 @@ ufs_makeinode(struct vattr *vap, struct 
 	if (error)
 		goto bad;
 	*vpp = tvp;
+	cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
 	return (0);
 
  bad:

Reply via email to