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

# vhold(9)

acquire/release a hold on a vnode

## NAME

**vhold**, **vdrop** – acquire/release a hold on a vnode

## SYNOPSIS

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

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

*void*\

**vhold**(*struct vnode \*vp*);

*void*\

**vdrop**(*struct vnode \*vp*);

## DESCRIPTION

The **vhold**() function increments the *v\_holdcnt* of the given vnode. If the vnode has already been added to the free list and is still referenced, it will be removed.

The **vdrop**() function decrements the *v\_holdcnt* of the vnode. If the holdcount is less than or equal to zero prior to calling **vdrop**(), the system will panic. If the vnode is no longer referenced, it will be freed.

## SEE ALSO

vbusy(9), [vfree(9)](/vfree/9.md)

## AUTHORS

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