pvfs2fuse is a user-level filesystem client interface for PVFS. It
performs a similar function to the Linux client interface included in
the PVFS distribution except that it is portable to any system that
FUSE has been ported to. At that present, that includes Linux,
FreeBSD, and MacOSX. As of Linux 2.6.14, FUSE is included in the
official kernel release.
BUILDING PVFS2FUSE
To build pvfs2fuse, download the pvfs-2.6.3-pvfs2fuse-0.01.patch, download the pvfs-2.6.3 tarball from
www.pvfs.org, and do the following commands.
> tar xvfz pvfs-2.6.3.tgz
> patch -p0 < pvfs-2.6.3-pvfs2fuse-0.01.patch
If you are using the latest PVFS code from the CVS tree, you can use this file instead: pvfs2-fuse.patch. If you are building PVFS on Darwin/MacOSX, you will also need this patch: pvfs2-macosx.patch
Make sure you have FUSE installed on your machine. FUSE can be
downloaded from http://fuse.sourceforge.net. The MacOSX version of fuse can be downloaded from http://code.google.com/p/macfuse. Also, make sure that the
PKG_CONFIG_PATH environment variable includes the location of fuse.pc.
This will typically be /usr/local/lib/pkgconfig or /usr/lib/pkgconfig.
Now, you are ready to build pvfs2fuse. Go to the pvfs-2.6.3 directory
and do the following:
> cd pvfs-2.6.3
> ./configure
> make
Now, you should have a working PVFS2 build as well as the pvfs2fuse
build in pvfs-2.6.3/src/apps/fuse.
RUNNING PVFS2FUSE
usage: pvfs2fuse [options] mountpoint
general options:
-o opt,[opt...] mount options
-h --help print help
-V --version print version
PVFS2FUSE options:
-o fs_spec=FS_SPEC PVFS2 fs_spec URI (eg. tcp://localhost:3334/pvfs2-fs)
In general, pvfs2fuse looks at the /etc/pvfs2tab file for the location
of the config server for the PVFS filesystem that you are mounting.
You can also specify the location using the "-o fs_spec=FS_SPEC"
option.
The PVFS file system can be mounted by non-privileged users as well as
root, but the mountpoint must be accessible to the user who is running
pvfs2fuse. On MacOSX, when a PVFS file system is mounted by the main
user, the file system will appear in the Finder and is accessible like
any other Mac volume.
pvfs2fuse supports all FUSE options. The direct_io and fsname options
are set by default and allow_other is set if the user is root.
pvfs2fuse has been tested with Linux 2.6.9/FUSE-2.65/PVFS-2.6.3 and
MacOSX 10.4.9/MacFUSE-0.3.0/PVFS-2.6.3.
KNOWN PROBLEMS
The patches allow compilation of the PVFS2 server on MacOSX, but
server functionality is not completely working for writes.
Some statfs information may not be meaningful.
FUSE multithreaded support is disabled for now.