This article describes how to connect to an NFS-Share in Barrelfish.
Requirements
Before we can connect to a NFS-Share we need a server that provides us with this functionality. In this article we assume that the server is located at 10.0.0.2 and exports the folder /home/barrelfish via NFSv3 to the Barrelfish machine. Setting up the server is out of the scope of this article.
Connection
We first create a folder
mkdir /nfs
and can then connect to the NFS-Share
mount MOUNTPOINT URI
In our concrete example the last command would look as following.
mount /nfs nfs://10.0.0.2/home/barrelfish
Troubleshooting
If you get the following error after the mount command
ERROR: fish.0 in mount() ../usr/fish/fish.c:477 ERROR: in vfs_mount /nfs nfs://10.0.0.2/home/barrelfish Failure: ( nfs) Permission denied [NFS_ERR_MNT_ACCES]
and the log messages of the server shows
mountd[31633]: refused mount request from 10.0.0.2 for /home/barrelfish (/home/barrelfish): illegal port 33288
then you have to edit your /etc/exports on the server. The problem here is that the request originated from an internet port less than IPPORT_RESERVED (1024) which is usually prohibited by NFS. To allow these request, add the insecure option to the corresponding share. The /etc/exports could look as following:
/home/barrelfish 10.0.0.0/255.255.0.0(rw,insecure)