Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know a little about linux kernel. BUt for Freebsd, the "vnode" actually is similar to the "inode" in Linux kernel.

And there is a "inode" concept in FreeBSD or Solaris.

So my question is: what is "inode" in FreeBSD for?

Below is good to read.

Thank you.


All three operating systems use a data abstraction layer to hide file system implementation details from applications. In all three OSes, you use open, close, read, write, stat, etc. system calls to access files, regardless of the underlying implementation and organization of file data. Solaris and FreeBSD call this mechanism VFS ("virtual file system") and the principle data structure is the vnode, or "virtual node." Every file being accessed in Solaris or FreeBSD has a vnode assigned to it. In addition to generic file information, the vnode contains pointers to file-system-specific information. Linux also uses a similar mechanism, also called VFS (for "virtual file switch"). In Linux, the file-system-independent data structure is an inode. This structure is similar to the vnode on Solaris/FreeBSD. (Note that there is an inode structure in Solaris/FreeBSD, but this is file-system-dependent data for UFS file systems). Linux has two different structures, one for file operations and the other for inode operations. Solaris and FreeBSD combine these as "vnode operations."

share|improve this question
Search engine win: linuxquestions.org/questions/linux-kernel-70/…. – Aki Apr 20 '12 at 17:04
up vote 3 down vote accepted

An inode is a structure in some file systems that holds a file or directory's metadata (all the information about the file, except its name and data). It holds information about permissions, ownership, creation and modification times, etc.

Systems the offer a virtualised file system access layer (FreeBSD, Solaris, Linux), can support different underlying file systems which may or may not utilise inodes. ReiserFS, for example, doesn't use them, whereas FreeBSD's ffs2 does. The abstraction layer through which you access the file system provides a single and well-defined interface for file operations, so that applications don't need to know about the differences between different file system implementations.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.