[Gluster-devel] Upcalls Infrastructure

Shyam srangana at redhat.com
Fri Dec 12 19:46:29 UTC 2014


I am wondering how to transfer the state maintained by glusterfsd, as 
proposed, when a file is rebalanced?

Currently I/we are (still) thinking on how to get locks across 2 
subvolumes of DHT migrated, when a file is moved during rebalance, on 
the same lines, when a file is migrated we would need to migrate _this_ 
state as well.

Maybe we cancel all events/notification requests when a file is 
migrated, could be an off the cuff answer I can think of.

Just wanted to state the problem, so that as we figure out how locks are 
migrated, we may need additions in this framework to migrate the state 
(or at least a bulk get/set for notification requests).

Shyam

On 12/12/2014 02:17 AM, Soumya Koduri wrote:
> 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