summaryrefslogtreecommitdiff
path: root/daemon/Makefile.am
diff options
context:
space:
mode:
authorRoss Lagerwall <rosslagerwall@gmail.com>2014-05-06 19:06:41 +0100
committerRoss Lagerwall <rosslagerwall@gmail.com>2015-02-09 23:29:31 +0000
commit874bc00bd19c6853cedcea610e8ac035c8486ca7 (patch)
treef651f364f810be5ca17713cbc8707234976692ea /daemon/Makefile.am
parent2fc159a7886a6696ca8caa218897b14150485db3 (diff)
downloadgvfs-874bc00bd19c6853cedcea610e8ac035c8486ca7.tar.gz
Add an nfs backend based on libnfs
Add an nfs backend based on libnfs to make userspace mounting and usage of nfs shares easier. The backend is written in a single-threaded, asynchronous style. Performance measurements show around 60-70 MiB/s throughput on 1GbE. To make use of it, simply mount the share with gvfs-mount or Nautilus with the following syntax: nfs://host/export/path Authentication is simple, based on UNIX uid. Since this is a userspace nfs client, it comes with the caveat that the mount needs to be exported with "insecure" on Linux (or some equivalent for other NFS servers) so that it allows connections from port numbers higher than 1023. Alternatively, a special capability can be given to the binary: sudo setcap 'cap_net_bind_service=+ep' /path/to/executable https://bugzilla.gnome.org/show_bug.cgi?id=738967
Diffstat (limited to 'daemon/Makefile.am')
-rw-r--r--daemon/Makefile.am21
1 files changed, 21 insertions, 0 deletions
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 7a4b01bb..13c7d99c 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -129,6 +129,12 @@ mount_DATA += afp-browse.mount afp.mount
libexec_PROGRAMS += gvfsd-afp-browse gvfsd-afp
endif
+mount_in_files += nfs.mount.in
+if HAVE_NFS
+mount_DATA += nfs.mount
+libexec_PROGRAMS += gvfsd-nfs
+endif
+
noinst_DATA = $(mount_DATA:.mount=.localmount)
EXTRA_DIST = \
@@ -608,6 +614,21 @@ gvfsd_afp_LDADD = \
$(libraries) \
$(LIBGCRYPT_LIBS)
+gvfsd_nfs_SOURCES = \
+ gvfsbackendnfs.c gvfsbackendnfs.h \
+ daemon-main.c daemon-main.h \
+ daemon-main-generic.c
+
+gvfsd_nfs_CPPFLAGS = \
+ $(flags) \
+ -DBACKEND_HEADER=gvfsbackendnfs.h \
+ -DDEFAULT_BACKEND_TYPE=nfs \
+ -DMAX_JOB_THREADS=1 \
+ -DBACKEND_TYPES='"nfs", G_VFS_TYPE_BACKEND_NFS,' \
+ $(NFS_CFLAGS)
+
+gvfsd_nfs_LDADD = $(libraries) $(NFS_LIBS)
+
# GSettings stuff
gsettings_ENUM_NAMESPACE = org.gnome.system.gvfs