Bug 762029 (GLUSTER-297)

Summary: Posix locks cannot handle a single unlock over multiple held locks
Product: [Community] GlusterFS Reporter: Pavan Vilas Sondur <pavan>
Component: locksAssignee: Pavan Vilas Sondur <pavan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: mainlineCC: corentin.chary, gluster-bugs, vbellur, vijay, vikas
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTP Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Fix locks none

Description Pavan Vilas Sondur 2009-10-05 11:41:36 UTC
http://pastebin.com/m5837bdca

Comment 1 Corentin Chary 2009-10-05 12:50:01 UTC
Created attachment 77 [details]
new version of pnmtotiff patch to use packbits by default

Here is a patch that seems to fix the problem (for my test case anyway).

* Init the list structure, because it will be used later, and subtract_lock does not do it
* Remove the special handling for unlocks, I see no reason to put it here

This should also fix some bugs not related to unlocks.

Comment 2 Pavan Vilas Sondur 2009-10-05 14:39:45 UTC
a single unlock over a region where more than 1 lock was previoudly held, fails to unlock all held locks.

Comment 3 Anand Avati 2009-10-09 09:06:37 UTC
PATCH: http://patches.gluster.com/patch/1840 in master (features/locks: Fix insert_and_merge)

Comment 4 Anand Avati 2009-10-09 09:06:42 UTC
PATCH: http://patches.gluster.com/patch/1839 in release-2.0 (features/locks: Fix insert_and_merge)

Comment 5 Anand Avati 2009-10-09 10:37:29 UTC
PATCH: http://patches.gluster.com/patch/1847 in master (Add INIT_LIST_HEAD which was left out in the previous commit)

Comment 6 Anand Avati 2009-10-09 10:37:33 UTC
PATCH: http://patches.gluster.com/patch/1846 in release-2.0 (Add INIT_LIST_HEAD which was left out in the previous commit)