Sachin Punadikar has uploaded this change for review.

View Change

SAL: IP based recovery object for "rados_cluster"

Usually this recovery backend objects for “rados_cluster” backend are named
using nodeid.
For enabling movement of an IP (which being served by one Ganesha instance)
to another Ganesha instance, IP based recovery backend is required. In such
scenario, Ganesha will read this backend and allows reclaim of the clients
those were connected to that IP. This mechanism will help in achieving load
balancing or IP movement from one node to another easily.
How this works -
1. Ganesha started with “-V” option, which will input the IP address Ganesha
will listen by default.
2. Ganesha config parameter RecoveryBackendIPBased set to true in NFSv4 block.
3. For “rados_cluster” as recovery backend, based on above 2 steps recovery
objects based on IP address will be created & used.
4. While adding or removing a client record, the server address to which the
client was connected will be used to identify the recovery object name.
5. For an event TAKE_IP, it will use the passed in IP address to identify
and use the recovery object. Ganesha will enter in grace and reclaim of
these connected clients will happen.

Change-Id: I06af3dc3d355178a9fcb77cbff617f7f4b3845f3
Signed-off-by: Sachin Punadikar <sachin.punadikar@ibm.com>
---
M src/Protocols/NFS/nfs4_op_setclientid.c
M src/SAL/recovery/recovery_rados.h
M src/SAL/recovery/recovery_rados_cluster.c
M src/SAL/recovery/recovery_rados_kv.c
4 files changed, 193 insertions(+), 53 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/17/1208717/1

To view, visit change 1208717. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I06af3dc3d355178a9fcb77cbff617f7f4b3845f3
Gerrit-Change-Number: 1208717
Gerrit-PatchSet: 1
Gerrit-Owner: Sachin Punadikar <sachin.punadikar@ibm.com>