summaryrefslogtreecommitdiffstats
path: root/xlators/features/locks
diff options
context:
space:
mode:
authorVijay Bellur <vijay@gluster.com>2011-07-07 03:03:40 +0000
committerAnand Avati <avati@gluster.com>2011-07-12 06:59:34 -0700
commit43d6d33d35618eb684975d6f0d1263e25ae6466c (patch)
treeff1e7b62e0e7345f70943e6f0d8dd46f51ce6a6e /xlators/features/locks
parente30c38b783c728182eb9cc478fabc7a7830c8efc (diff)
features/locks: Do not block UNLOCKs
Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2473 (Support for volume and directory level quota) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2473
Diffstat (limited to 'xlators/features/locks')
-rw-r--r--xlators/features/locks/src/inodelk.c2
-rw-r--r--xlators/features/locks/src/posix.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/xlators/features/locks/src/inodelk.c b/xlators/features/locks/src/inodelk.c
index f3c158ebb2e..81cd26730fd 100644
--- a/xlators/features/locks/src/inodelk.c
+++ b/xlators/features/locks/src/inodelk.c
@@ -615,7 +615,7 @@ pl_common_inodelk (call_frame_t *frame, xlator_t *this,
can_block, dom);
if (ret < 0) {
- if (can_block) {
+ if ((can_block) && (F_UNLCK != reqlock->fl_type)) {
pl_trace_block (this, frame, fd, loc,
cmd, flock, volume);
goto out;
diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c
index d4663ac8d3f..0a887cb9e1f 100644
--- a/xlators/features/locks/src/posix.c
+++ b/xlators/features/locks/src/posix.c
@@ -1102,7 +1102,7 @@ pl_lk (call_frame_t *frame, xlator_t *this,
can_block);
if (ret == -1) {
- if (can_block) {
+ if ((can_block) && (F_UNLCK != reqlock->fl_type)) {
pl_trace_block (this, frame, fd, NULL, cmd, flock, NULL);
goto out;
}