Andrés J. Díaz


This project has no releases. Read README file for more information about how to use this project.




NFS3 Failover is part of big project were I was working during 2010 in order
to manage a large fleet of physical hosts. To keep some files in-sync with all
nodes in the system, I use NFS3 in read-only mode.

While the master nodes provides the content of that files, the slaves
nodes just mount the shared directory and read the data.

To keep the system scalable I use a number of masters per slaves,
that is, for example, 4 master nodes per 40 slaves nodes. Unfortunately
mainline version of nfs3 modules (sunrpc, actually) and mount binaries
do not support failover for NFS3 (NFS4 includes failover by design). In
order to enable this capability, we need to implement failover
functionality for nfs3 in kernel modules and moun options.

Most of the work was done by my colleage Manuel Sanmartín, I just
adapt these patches to run in modern linux versions and new mount

This repository contains submodules to patched kernel sources (linux/
directory) and nfs-utils patched sources (nfs-utils/ directory).

To install patched sources you need to recompile kernel and nfs-utils as

  cd linux/ && make menuconfig && make && make modules_install && make install
  cd nfs-utils/ && ./configure && make && make install


The source code of the project is managed by git, you can clone it in the usual way:

git clone

A mirror in github is also available, but keep in mind that could be out of date.

If you find any error in the code or incorrect behaviour, please do not hesitate to report it in the devel mailing list:

Please note that you need to subscribe to the list prior to post to avoid spam, just send an empty email to with the text subscribe nfs3-failover-devel in the subject.

Please submit the patches via mailing list. You can read how to in this email + git guide

Any suggestion, discussion or improvement are welcome, just mail to the list!


All rights reserved to the respective authors of each project. See COPYING
notes in Linux kernel and in nfs-utils project. NFS3 Failover changes are
disitributed under MIT license if no other licensed can be applied.

Andrés J. Díaz <ajdiaz at>.
GPG Key: 4D851F4ECDCFD81EF6AB2FC6021D2DCF8575C18B. GPG Key Signing Policy.
Gopher server