[Gluster-devel] Reduce number of inodelk/entrylk calls on ec xlator

Pranith Kumar Karampuri pkarampu at redhat.com
Thu Jul 3 09:38:26 UTC 2014


On 07/03/2014 02:24 PM, Xavier Hernandez wrote:
> On Thursday 03 July 2014 07:40:45 Pranith Kumar Karampuri wrote:
>> On 07/01/2014 04:52 PM, Xavier Hernandez wrote:
>>> Hi,
>>>
>>> current implementation of ec xlator uses inodelk/entrylk before each
>>> operation to guarantee exclusive access to the inode. This implementation
>>> blocks any other request to the same inode/entry until the previous
>>> operation has completed and unlocked it.
>>>
>>> This adds a lot of latency to each operation, even if there are no
>>> conflicts with other clients. To improve this I was thinking to implement
>>> something similar to eager-locking and piggy-backing.
>> I think we should make eager-locking, piggy-backing to separate xlators.
>> Let me see if we can do that.
> Do you mean to create some sort of locks xlator on the client side to
> intercept multiple locks, and automatically grant them if domain, owner and
> user are the same ?
No, Istead of taking multiple small locks, it will take one FULL file 
lock all operations on that fd piggyback on it this also xlator should 
also prevent overlapping writes to go through. If more than one fd is 
open it will back off and gets disabled. Afr uses this to reduce number 
of inodelks on the wire.

Pranith


More information about the Gluster-devel mailing list