[Bugs] [Bug 1455049] [GNFS+EC] Unable to release the lock when the other client tries to acquire the lock on the same file

bugzilla at redhat.com bugzilla at redhat.com
Wed May 24 07:27:54 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1455049



--- Comment #1 from Ashish Pandey <aspandey at redhat.com> ---

I am able to recreate the issue on latest master.

Steps to recreate the issue:

1. Create an EC volume(2+1 configuration) and FUSE mount it.
2. Touch a file on the mount point.
3. From a terminal(term-1) aquire lock on file and write some data,
   don't unlock.

[root at server1 setup]# ./lock /LAB/fuse_mounts/mount/file
opening /LAB/fuse_mounts/mount/file
opened; hit Enter to lock... 
locking
locked; hit Enter to write... 
Write succeeeded 
locked; hit Enter to unlock...

4. From another terminal(term-2) try acquiring lock on the same region
of the file.

[root at server1 setup]# ./lock /LAB/fuse_mounts/mount/file
opening /LAB/fuse_mounts/mount/file
opened; hit Enter to lock... 
locking

5. Try to unlock the file from term-1(step 3).

Step-5 should go through successfully. But on problematic code base
it hangs.

Issue was introduced as part of below code change:

++++++++++++++++++
commit f2406fa6155267fa747d9342092ee7709a2531a9
Author: Pranith Kumar K <pkarampu at redhat.com>
Date:   Fri Jan 27 16:17:49 2017 +0530

    cluster/ec: Fix cthon failures observed with ec volumes

    Since EC already winds one write after other there is no need to align
    application fcntl locks with ec blocks. Also added this locking to be
    done as a transaction to prevent partial upgrade/downgrade of locks
    happening.

    BUG: 1410425
    Change-Id: I7ce8955c2174f62b11e5cb16140e30ff0f7c4c31
    Signed-off-by: Pranith Kumar K <pkarampu at redhat.com>
    Reviewed-on: https://review.gluster.org/16445
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Xavier Hernandez <xhernandez at datalab.es>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
++++++++++++++++++

Note: Use attachment "Lock Script" to generate the binary "lock"

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list