Module Name: src
Committed By: hannken
Date: Thu Nov 3 11:03:31 UTC 2016
Modified Files:
src/sys/kern: vfs_mount.c vfs_subr.c vfs_vnode.c
src/sys/sys: vnode.h
Added Files:
src/sys/sys: vnode_impl.h
Log Message:
Split sys/vnode.h into sys/vnode.h and sys/vnode_impl.h
- Move _VFS_VNODE_PRIVATE protected operations into vnode_impl.h.
- Move struct vnode_impl definition and operations into vnode_impl.h.
- Include vnode_impl.h where we include vnode.h with _VFS_VNODE_PRIVATE defined.
- Get rid of _VFS_VNODE_PRIVATE.
To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/kern/vfs_mount.c
cvs rdiff -u -r1.449 -r1.450 src/sys/kern/vfs_subr.c
cvs rdiff -u -r1.57 -r1.58 src/sys/kern/vfs_vnode.c
cvs rdiff -u -r1.264 -r1.265 src/sys/sys/vnode.h
cvs rdiff -u -r0 -r1.1 src/sys/sys/vnode_impl.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/vfs_mount.c
diff -u src/sys/kern/vfs_mount.c:1.40 src/sys/kern/vfs_mount.c:1.41
--- src/sys/kern/vfs_mount.c:1.40 Thu Jul 7 06:55:43 2016
+++ src/sys/kern/vfs_mount.c Thu Nov 3 11:03:31 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_mount.c,v 1.40 2016/07/07 06:55:43 msaitoh Exp $ */
+/* $NetBSD: vfs_mount.c,v 1.41 2016/11/03 11:03:31 hannken Exp $ */
/*-
* Copyright (c) 1997-2011 The NetBSD Foundation, Inc.
@@ -67,9 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.40 2016/07/07 06:55:43 msaitoh Exp $");
-
-#define _VFS_VNODE_PRIVATE
+__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.41 2016/11/03 11:03:31 hannken Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -90,7 +88,7 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,
#include <sys/sysctl.h>
#include <sys/systm.h>
#include <sys/vfs_syscalls.h>
-#include <sys/vnode.h>
+#include <sys/vnode_impl.h>
#include <miscfs/genfs/genfs.h>
#include <miscfs/specfs/specdev.h>
Index: src/sys/kern/vfs_subr.c
diff -u src/sys/kern/vfs_subr.c:1.449 src/sys/kern/vfs_subr.c:1.450
--- src/sys/kern/vfs_subr.c:1.449 Thu May 26 11:07:33 2016
+++ src/sys/kern/vfs_subr.c Thu Nov 3 11:03:31 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_subr.c,v 1.449 2016/05/26 11:07:33 hannken Exp $ */
+/* $NetBSD: vfs_subr.c,v 1.450 2016/11/03 11:03:31 hannken Exp $ */
/*-
* Copyright (c) 1997, 1998, 2004, 2005, 2007, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.449 2016/05/26 11:07:33 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.450 2016/11/03 11:03:31 hannken Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -76,8 +76,6 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v
#include "opt_compat_43.h"
#endif
-#define _VFS_VNODE_PRIVATE /* for vcache_print(). */
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
@@ -85,7 +83,7 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v
#include <sys/filedesc.h>
#include <sys/kernel.h>
#include <sys/mount.h>
-#include <sys/vnode.h>
+#include <sys/vnode_impl.h>
#include <sys/stat.h>
#include <sys/sysctl.h>
#include <sys/namei.h>
Index: src/sys/kern/vfs_vnode.c
diff -u src/sys/kern/vfs_vnode.c:1.57 src/sys/kern/vfs_vnode.c:1.58
--- src/sys/kern/vfs_vnode.c:1.57 Thu Nov 3 11:02:09 2016
+++ src/sys/kern/vfs_vnode.c Thu Nov 3 11:03:31 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_vnode.c,v 1.57 2016/11/03 11:02:09 hannken Exp $ */
+/* $NetBSD: vfs_vnode.c,v 1.58 2016/11/03 11:03:31 hannken Exp $ */
/*-
* Copyright (c) 1997-2011 The NetBSD Foundation, Inc.
@@ -156,9 +156,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.57 2016/11/03 11:02:09 hannken Exp $");
-
-#define _VFS_VNODE_PRIVATE
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.58 2016/11/03 11:03:31 hannken Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -177,7 +175,7 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,
#include <sys/syscallargs.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
-#include <sys/vnode.h>
+#include <sys/vnode_impl.h>
#include <sys/wapbl.h>
#include <sys/fstrans.h>
@@ -187,30 +185,6 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,
/* Flags to vrelel. */
#define VRELEL_ASYNC_RELE 0x0001 /* Always defer to vrele thread. */
-enum vnode_state {
- VS_MARKER, /* Stable, used as marker. Will not change. */
- VS_LOADING, /* Intermediate, initialising the fs node. */
- VS_ACTIVE, /* Stable, valid fs node attached. */
- VS_BLOCKED, /* Intermediate, active, no new references allowed. */
- VS_RECLAIMING, /* Intermediate, detaching the fs node. */
- VS_RECLAIMED /* Stable, no fs node attached. */
-};
-struct vcache_key {
- struct mount *vk_mount;
- const void *vk_key;
- size_t vk_key_len;
-};
-struct vnode_impl {
- struct vnode vi_vnode;
- enum vnode_state vi_state;
- SLIST_ENTRY(vnode_impl) vi_hash;
- struct vcache_key vi_key;
-};
-typedef struct vnode_impl vnode_impl_t;
-
-#define VIMPL_TO_VNODE(node) ((vnode_t *)(node))
-#define VNODE_TO_VIMPL(vp) ((vnode_impl_t *)(vp))
-
u_int numvnodes __cacheline_aligned;
/*
Index: src/sys/sys/vnode.h
diff -u src/sys/sys/vnode.h:1.264 src/sys/sys/vnode.h:1.265
--- src/sys/sys/vnode.h:1.264 Sat Aug 20 12:37:09 2016
+++ src/sys/sys/vnode.h Thu Nov 3 11:03:31 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: vnode.h,v 1.264 2016/08/20 12:37:09 hannken Exp $ */
+/* $NetBSD: vnode.h,v 1.265 2016/11/03 11:03:31 hannken Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -590,18 +590,6 @@ void vfs_mount_print(struct mount *, int
__printflike(1, 2));
#endif /* DDB */
-#ifdef _VFS_VNODE_PRIVATE
-/*
- * Private vnode manipulation functions.
- */
-struct vnode *
- vnalloc_marker(struct mount *);
-void vnfree_marker(vnode_t *);
-bool vnis_marker(vnode_t *);
-void vcache_print(vnode_t *, const char *,
- void (*)(const char *, ...) __printflike(1, 2));
-#endif /* _VFS_VNODE_PRIVATE */
-
#endif /* _KERNEL */
#endif /* !_SYS_VNODE_H_ */
Added files:
Index: src/sys/sys/vnode_impl.h
diff -u /dev/null src/sys/sys/vnode_impl.h:1.1
--- /dev/null Thu Nov 3 11:03:31 2016
+++ src/sys/sys/vnode_impl.h Thu Nov 3 11:03:31 2016
@@ -0,0 +1,71 @@
+/* $NetBSD: vnode_impl.h,v 1.1 2016/11/03 11:03:31 hannken Exp $ */
+
+/*-
+ * Copyright (c) 2016 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _SYS_VNODE_IMPL_H_
+#define _SYS_VNODE_IMPL_H_
+
+#include <sys/vnode.h>
+
+enum vnode_state {
+ VS_MARKER, /* Stable, used as marker. Will not change. */
+ VS_LOADING, /* Intermediate, initialising the fs node. */
+ VS_ACTIVE, /* Stable, valid fs node attached. */
+ VS_BLOCKED, /* Intermediate, active, no new references allowed. */
+ VS_RECLAIMING, /* Intermediate, detaching the fs node. */
+ VS_RECLAIMED /* Stable, no fs node attached. */
+};
+struct vcache_key {
+ struct mount *vk_mount;
+ const void *vk_key;
+ size_t vk_key_len;
+};
+struct vnode_impl {
+ struct vnode vi_vnode;
+ enum vnode_state vi_state;
+ SLIST_ENTRY(vnode_impl) vi_hash;
+ struct vcache_key vi_key;
+};
+typedef struct vnode_impl vnode_impl_t;
+
+#define VIMPL_TO_VNODE(node) ((vnode_t *)(node))
+#define VNODE_TO_VIMPL(vp) ((vnode_impl_t *)(vp))
+
+/*
+ * Vnode manipulation functions.
+ */
+vnode_t *
+ vnalloc_marker(struct mount *);
+void vnfree_marker(vnode_t *);
+bool vnis_marker(vnode_t *);
+void vcache_print(vnode_t *, const char *,
+ void (*)(const char *, ...) __printflike(1, 2));
+
+#endif /* !_SYS_VNODE_IMPL_H_ */