[Gluster-devel] Support to reclaim locks (posix) provided lkowner & range matches

Vijay Bellur vbellur at redhat.com
Mon Jul 25 18:43:19 UTC 2016


On 07/22/2016 08:44 AM, Soumya Koduri wrote:
> Hi,
>
> In certain scenarios (esp.,in highly available environments), the
> application may have to fail-over/connect to a different glusterFS
> client while the I/O is happening. In such cases until there is a ping
> timer expiry and glusterFS server cleans up the locks held by the older
> glusterFS client, the application will not be able to reclaim their lost
> locks. To avoid that we need support in Gluster to let clients reclaim
> the existing locks provided lkwoner and the lock range matches.


If the server detects a disconnection, it goes about cleaning up the 
locks held by the disconnected client. Only if the failover connection 
happens before this server cleanup the outlined scheme would work. Since 
there is no ping timer on the server, do you propose to have a grace 
timer on the server?

>
> For client-side support, I am thinking if we can integrate with the new
> lock API being introduced as part of mandatory lock support in gfapi [2]
>

Is glfs_file_lock() planned to be used here? If so, how do we specify 
that it is a reclaim lock in this api?

We also would need to pass the reclaim_lock flag over rpc.

-Vijay


More information about the Gluster-devel mailing list