gvfs is a userspace virtual filesystem designed to work with the i/o
abstractions of gio (a library availible in glib >= 2.15.1). It
installs several modules that are automatically used by applications
using the APIs of libgio. There is also fuse support that allows
applications not using gio to access the gvfs filesystems.
The gvfs model differs from e.g. gnome-vfs in that filesystems must
be mounted before they are used. There is a central daemon (gvfsd)
that handles coordinting mounts, and then each mount is (typically)
in its own daemon process (although mounts can share daemon process).
gvfs comes with a set of backends, including trash support, sftp,
smb, http, dav and others. More backends are planned.
gvfs also contains modules for gio that implement hal volume monitors
and the gnome uri-scheme handler configuration.
There is a set of command line programs starting with "gvfs-" that
lets you run commands (like cat, ls, stat, etc) on files in the gvfs