summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-10-18 15:27:02 -0400
committerIan Moffett <ian@osmora.org>2025-10-18 15:27:02 -0400
commit9dcc5282d47f9d2d2ae661a2eccaeaed1c8a460b (patch)
treea21d47ee4c6daeb7eea3d27c81a50e90d47f4b62 /src
parentfb2dc42cc1f96a86f4d186ebc73db96dbae126fb (diff)
kern: vfs: Add vtype param to vop_create()
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src')
-rw-r--r--src/sys/include/os/vnode.h3
-rw-r--r--src/sys/os/vfs_subr.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/sys/include/os/vnode.h b/src/sys/include/os/vnode.h
index 1fd164d..31cfb0c 100644
--- a/src/sys/include/os/vnode.h
+++ b/src/sys/include/os/vnode.h
@@ -206,11 +206,12 @@ int vop_reclaim(struct vnode *vp, int flags);
*
* @vp: Vnode of parent directory
* @ndp: Namei descriptor of path component
+ * @type: Vnode type to create with
*
* Returns zero on success, otherwise a less than zero
* value on failure.
*/
-int vop_create(struct vnode *vp, struct nameidata *ndp);
+int vop_create(struct vnode *vp, struct nameidata *ndp, vtype_t type);
/*
* Get the attributes of a file
diff --git a/src/sys/os/vfs_subr.c b/src/sys/os/vfs_subr.c
index 2ae18af..0e8c605 100644
--- a/src/sys/os/vfs_subr.c
+++ b/src/sys/os/vfs_subr.c
@@ -226,7 +226,7 @@ vop_reclaim(struct vnode *vp, int flags)
}
int
-vop_create(struct vnode *vp, struct nameidata *ndp)
+vop_create(struct vnode *vp, struct nameidata *ndp, vtype_t type)
{
struct vop *vops;
struct vop_create_args args;
@@ -244,6 +244,7 @@ vop_create(struct vnode *vp, struct nameidata *ndp)
}
args.ndp = ndp;
+ args.vtype = type;
return vops->create(&args);
}