+++ This bug was initially created as a clone of Bug #1708156 +++
Description of problem:
When an inodelk is being acquired, it could happen that some bricks have already granted the lock while others don't. From the point of view of ec, the lock is not yet acquired.
If at this point one of the bricks that has already granted the lock receives another inodelk request, it will send a contention notification to ec.
Currently ec ignores those notifications until the lock is fully acquired. This means than once ec acquires the lock on all bricks, it won't be released immediately when eager-lock is used.
Version-Release number of selected component (if applicable): mainline
Very frequently when there are multiple concurrent operations on same directory
Steps to Reproduce:
1. Create a disperse volume
2. Mount it from several clients
3. Create few files on a directory
4. Do 'ls' of that directory at the same time from all clients
Some 'ls' take several seconds to complete
All 'ls' should complete in less than a second
REVIEW: https://review.gluster.org/22822 (cluster/ec: honor contention notifications for partially acquired locks) posted (#1) for review on release-5 by Xavi Hernandez
REVIEW: https://review.gluster.org/22822 (cluster/ec: honor contention notifications for partially acquired locks) merged (#4) on release-5 by hari gowtham