[Gluster-devel] Upcalls Infrastructure
Soumya Koduri
skoduri at redhat.com
Fri Dec 12 07:17:21 UTC 2014
Hi,
This framework has been designed to maintain state in the glusterfsd
process, for each the files being accessed (including the clients info
accessing those files) and send notifications to the respective
glusterfs clients incase of any change in that state.
Few of the use-cases (currently identified) of this infrastructure are:
* Inode Update/Invalidation
- clients caching inode entries or attributes of a file (eg., md-cache)
can make use of this support to update or invalidate those entries based
on the notifications sent by server of the attributes changed on the
corresponding files in the back-end.
* Recall Delegations/lease-locks
- For lease-locks to be supported, the server should be able to
maintain those locks states and recall them successfully by sending
notifications to the clients incase of any conflicting access requested
by another client.
* Maintain Share Reservations/Locks states.
- Along with lease-lock states (mentioned above), we could extend this
framework to support Open Share-reservations/Locks
In addition to the above, this framework could be extended to add,
maintain any other file states and send callback events when required.
Feature page -
http://www.gluster.org/community/documentation/index.php/Features/Upcall-infrastructure
PoC on this feature is done. One of the initial consumers of this
support is NFS-ganesha (a user-mode file server for NFSv3,4.0,4.1,pNFS
developed by an active open-source community -
https://github.com/nfs-ganesha/nfs-ganesha/wiki)
Note: This support will be turned off by default and enabled only if
required by using a tunable option (currently using Gluster CLI option
to enable NFS-Ganesha, being developed as part of a different
feature that will get its Feature Page announced soon)
Comments and feedback are welcome.
Thanks,
Soumya
More information about the Gluster-devel
mailing list