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.