[Gluster-devel] Upcalls Infrastructure

Krishnan Parthasarathi kparthas at redhat.com
Mon Dec 15 03:31:12 UTC 2014


Here are a few questions that I had after reading the feature
page. 

- Is there a new connection from glusterfsd (upcall xlator) to
  a client accessing a file? If so, how does the upcall xlator reuse
  connections when the same client accesses multiple files, or does it?

- In the event of a network separation (i.e, a partition) between a client
  and a server, how does the client discover or detect that the server
  has 'freed' up its previously registerd upcall notification?


----- Original Message -----
> 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
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
> 


More information about the Gluster-devel mailing list