74096c
From 3612b3a46c33d19bb7d4aee6eb6625d8d903d459 Mon Sep 17 00:00:00 2001
74096c
From: Pranith Kumar K <pkarampu@redhat.com>
74096c
Date: Wed, 17 Jun 2020 10:44:37 +0530
74096c
Subject: [PATCH 474/478] features/locks: posixlk-clear-lock should set error
74096c
 as EINTR
74096c
74096c
Problem:
74096c
fuse on receiving interrupt for setlk sends clear-lock "fop"
74096c
using virtual-getxattr. At the moment blocked locks which are
74096c
cleared return EAGAIN errno as opposed to EINTR errno
74096c
74096c
Fix:
74096c
Return EINTR errno.
74096c
74096c
Upstream:
74096c
> Reviewed-on: https://review.gluster.org/24587
74096c
> Updates: #1310
74096c
> Change-Id: I47de0fcaec370b267f2f5f89deeb37e1b9c0ee9b
74096c
> Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
74096c
74096c
BUG: 1821743
74096c
Change-Id: Id8301ce6e21c009949e88db5904d8b6ecc278f66
74096c
Signed-off-by: Csaba Henk <csaba@redhat.com>
74096c
Reviewed-on: https://code.engineering.redhat.com/gerrit/216157
74096c
Tested-by: RHGS Build Bot <nigelb@redhat.com>
74096c
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
74096c
---
74096c
 xlators/features/locks/src/clear.c | 4 ++--
74096c
 1 file changed, 2 insertions(+), 2 deletions(-)
74096c
74096c
diff --git a/xlators/features/locks/src/clear.c b/xlators/features/locks/src/clear.c
74096c
index 116aed6..ab1eac6 100644
74096c
--- a/xlators/features/locks/src/clear.c
74096c
+++ b/xlators/features/locks/src/clear.c
74096c
@@ -181,9 +181,9 @@ clrlk_clear_posixlk(xlator_t *this, pl_inode_t *pl_inode, clrlk_args *args,
74096c
             if (plock->blocked) {
74096c
                 bcount++;
74096c
                 pl_trace_out(this, plock->frame, NULL, NULL, F_SETLKW,
74096c
-                             &plock->user_flock, -1, EAGAIN, NULL);
74096c
+                             &plock->user_flock, -1, EINTR, NULL);
74096c
 
74096c
-                STACK_UNWIND_STRICT(lk, plock->frame, -1, EAGAIN,
74096c
+                STACK_UNWIND_STRICT(lk, plock->frame, -1, EINTR,
74096c
                                     &plock->user_flock, NULL);
74096c
 
74096c
             } else {
74096c
-- 
74096c
1.8.3.1
74096c