A virtual filesystem is an abstraction of the normal filesystem access functions such as listing the contents of a folder, creating a file or writing data to a file that allows the various protocol servers to access the filesystems in a uniform way.
The virtual filesystem abstraction allows the filesystem access to be mapped to a normal filesystem, a database or some other repository, content management system, storage server or whatever, so long as the data can be mapped into a file/folder hierarchy.
There is a core virtual filesystem interface which provides the basic file and folder I/O functions, with optional interfaces that can provide more specific features such as support for locking, dynamic filesystem sizing, quotas, NTFS streams and more.
There can be multiple virtual filesystems configured that may be using different filesystem implementations.
The core JFileServer code includes a sample virtual filesystem implementation that uses the Java I/O classes to access the local filesystem.
There is also the database filesystem framework with a Postgres implementation available, more database filesystem implementations are planned. For more details of the database filesystem framework see here.