diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2020-06-17 10:44:37 +0530 |
---|---|---|
committer | Amar Tumballi <amar@kadalu.io> | 2020-06-18 06:11:39 +0000 |
commit | 4a2a6b988880fa18337b96e339b14390c9a7c0a8 (patch) | |
tree | 312a148d79c67c7639871b3575aba932694b9c59 /xlators | |
parent | 3db89cf23a5574e902b7785e65655dea65b98aae (diff) |
features/locks: posixlk-clear-lock should set error as EINTR
Problem:
fuse on receiving interrupt for setlk sends clear-lock "fop"
using virtual-getxattr. At the moment blocked locks which are
cleared return EAGAIN errno as opposed to EINTR errno
Fix:
Return EINTR errno.
Updates: #1310
Change-Id: I47de0fcaec370b267f2f5f89deeb37e1b9c0ee9b
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/features/locks/src/clear.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xlators/features/locks/src/clear.c b/xlators/features/locks/src/clear.c index 116aed68690..ab1eac68a53 100644 --- a/xlators/features/locks/src/clear.c +++ b/xlators/features/locks/src/clear.c @@ -181,9 +181,9 @@ clrlk_clear_posixlk(xlator_t *this, pl_inode_t *pl_inode, clrlk_args *args, if (plock->blocked) { bcount++; pl_trace_out(this, plock->frame, NULL, NULL, F_SETLKW, - &plock->user_flock, -1, EAGAIN, NULL); + &plock->user_flock, -1, EINTR, NULL); - STACK_UNWIND_STRICT(lk, plock->frame, -1, EAGAIN, + STACK_UNWIND_STRICT(lk, plock->frame, -1, EINTR, &plock->user_flock, NULL); } else { |