- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
NFSv4 client finally merged
Earlier this week NFSv4 client I have been working on during the last year Google Summer of Code has been merged into the main Haiku repository and is now available in nightly images. The client supports all caching mechanisms available in the version 4 of NFS what means that it can get the most out of network connection and the server. Unfortunately due to limitations of the NFS protocol itself extended attributes are not supported yet.
In order to mount a NFS share you need to type the following command:
mount -t nfs4 -p "server_address:path flags" directory
server_address may be either an IP address or a host name. Flags are optional, the default configuration should be appropriate in most cases and should be changed only if problems appear. The available flags are:
- hard - if no valid reply to a RPC request was received the request is retried indefinitely.
- soft - if no valid reply to a RPC request was received the request is retried no more than retrans times. This is set by default.
- timeo=X - request time limit before next retransmission (default: 60 seconds).
- retrans=X - retry requests X times (default: 5).
- ac - use metadata cache (enabled by default).
- noac - do not use metadata cache.
- port=X - connect to port X (default: 2049).
- proto=X - use transport protocol X. UDP and TCP are available. If this flag is not specified TCP is used. Note that some servers does not support open delegations if the client connects via UDP what may reduce performance.
Since the NFS client requires now much less attention than earlier, I have concentrated on data execution prevention (DEP) and address space layout randomization (ASLR). This two features when enabled will make exploiting vulnerabilities in any Haiku application significantly harder.
- Paweł Dziepak's blog
- Login or register to post comments

Comments
Re: NFSv4 client finally merged
This is great news. You're a good developer.
Re: NFSv4 client finally merged
Thank you for this!
Re: NFSv4 client finally merged
NSF is nice, but where is the BFS network file system? It is more important to me to share files between Haiku computers (with their BFS attributes ) than sharing files with some other operating system.
We need a BFS network file system server and client for Haiku.
Re: NFSv4 client finally merged
This networked Haiku native file system exists. Ingo Weinhold wrote it. Would be nice if someone found the time to write a tutorial about it. It requires multiple steps to get setup, since it requires userlandfs. But when it works, its nice with graphical login and all.
Re: NFSv4 client finally merged
Fantastic, this is great news! Access to network shares has been keeping me from using Haiku as my home desktop for general use.
Re: NFSv4 client finally merged
Hi Paweł,
I think there might be a problem with .dot files. I have finally managed to configure an NFS4 server on my Ubuntu box. I am exporting my home directory. I can mount this export on Haiku just fine, it instantly appears on the Desktop as a shared network mount (reminds me I or someone else needs to design a HVIF icon for shares...). I can cd into the mount point and for example ls -la the contents. But when I try to double click the share to open it in Tracker, I land in KDL, the stack trace indicates it tries to stat a .dot file or folder (for example ".ssh" or ".config"). When I use the Terminal to cd somewhere into my home folder where there are no .dot files, I can use "open ." to open the folder in Tracker. This works just fine and I can navigate into sub-folder from there (I only tried ones without .dot files). I don't know if this really has to do with .dot files or not. Maybe it would be easiest if you try to replicate this setup on your end, trying to mount some folder with lots of .dot folders. Otherwise I can try to help debug this. With how my USB keyboard is connected, I am having trouble doing anything useful in KDL, but if you say it would be helpful, I will do the necessary dive under the table... Thanks for your work on NFS4 in any case, it is really great to have this option to connect to shared files!