> > That is why we have the release_IP dBus command, it signals the
> > Ganesha that is giving up clients to drop their locks.
>
> Thanks a lot Frank. Right now in our HA solution, we do not send any
event.
> So by default I guess it takes "EVENT_TAKE_IP". Will try out
> "EVENT_RELEASE_IP".
>
> So IIUC, the only difference between "EVENT_TAKE_IP" and
> "EVENT_RELEASEIP" is that TAKE_IP just loads nfsv4 clients in memory to
> validate them during recovery where as release IP shall expire all the
existing
> clients of that IP (which involves releasing open and lock
> state) and then loads them in memory for recovery validation?
The intent of EVENT_RELEASEIP is in the following scenario:
On Node 1:
IP address 10.0.0.1 is removed
Start cluster grace period
Issue EVENT_RELEASEIP
Wait for grace period to expire
End cluster grace period
On Node 2:
IP address 10.0.0.1 is added
Start cluster grace period
Issue EVENT_TAKE_IP
Send SM_NOTIFY to NFS v3 clients talking to 10.0.0.1
Allow recovery
End cluster grace period
> And what about NLM locks?
>
> <code-snippet>
> else {
> nfs_release_nlm_state(gsp->ipaddr);
> if (gsp->event == EVENT_RELEASE_IP)
> nfs_release_v4_client(gsp->ipaddr);
> else
> nfs4_load_recov_clids_nolock(gsp);
> }
> <<<<<
>
> "nfs_release_nlm_state" seems to be notifying the NLM clients but I do not
> see any calls to flush the granted locks at the back-end as well?
The function state_nlm_notify releases the locks, it doesn't send SM_NOTIFY.
Originally that function was called when Ganesha received an SM_NOTIFY for a
client indicating that client had rebooted (and thus required it's locks be
freed). It happens to also work just fine for what EVENT_RELEASEIP needs.
Frank
> >
> > Frank
> >
> >
> > ---
> > This email has been checked for viruses by Avast antivirus software.
> > https://www.avast.com/antivirus
> >
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Nfs-ganesha-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel