---
name: "getnewvnode"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/getnewvnode"
---

# getnewvnode(9)

get a new vnode

## NAME

**getnewvnode** – get a new vnode

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/vnode.h\>**

**#include \<sys/mount.h\>**

*int*\

**getnewvnode**(*const char \*tag*, *struct mount \*mp*, *vop\_t \*\*vops*, *struct vnode \*\*vpp*);

## DESCRIPTION

The **getnewvnode**() function initializes a new vnode, assigning it the vnode operations passed in *vops*. The vnode is either freshly allocated, or taken from the head of the free list depending on the number of vnodes already in the system.

The arguments to **getnewvnode**() are:

- *tag*

  The file system type string. This field should only be referenced for debugging or for userland utilities.

- *mp*

  The mount point to add the new vnode to.

- *vops*

  The vnode operations to assign to the new vnode.

- *vpp*

  Points to the new vnode upon successful completion.

## RETURN VALUES

**getnewvnode**() returns 0 on success. There are currently no failure conditions - that do not result in a panic.

## AUTHORS

This manual page was written by Chad David ⟨davidc@acns.ab.ca⟩.
