diff options
author | Susant Palai <spalai@redhat.com> | 2019-07-22 15:20:43 +0530 |
---|---|---|
committer | Rinku Kothiya <rkothiya@redhat.com> | 2020-07-08 09:49:17 +0000 |
commit | 64ba4fde9fca5cfc059395a444b55f57940ab06b (patch) | |
tree | f4ccf2375939835a1cceb6b3825802b986c85c45 /xlators/features/locks/src/locks.h | |
parent | 663fb1c38150f2662d9f9c796ab9b0a57b7f9f97 (diff) |
locks/fencing: Address hang while lock preemption
The fop_wind_count can go negative when fencing is enabled
on unwind path of the IO leading to hang.
Also changed code so that fop_wind_count needs to be maintained only
till fencing is enabled on the file.
> updates: bz#1717824
> Change-Id: Icd04b42bc16cd3d50eaa581ee57233910194f480
> signed-off-by: Susant Palai <spalai@redhat.com>
(backport of https://review.gluster.org/#/c/glusterfs/+/23088/)
fixes: bz#1740494
Change-Id: Icd04b42bc16cd3d50eaa581ee57233910194f480
Signed-off-by: Susant Palai <spalai@redhat.com>
Diffstat (limited to 'xlators/features/locks/src/locks.h')
-rw-r--r-- | xlators/features/locks/src/locks.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/features/locks/src/locks.h b/xlators/features/locks/src/locks.h index b817960a4c4..0ab2aa6cbae 100644 --- a/xlators/features/locks/src/locks.h +++ b/xlators/features/locks/src/locks.h @@ -197,6 +197,7 @@ struct __pl_inode { */ int fop_wind_count; pthread_cond_t check_fop_wind_count; + gf_boolean_t track_fop_wind_count; }; typedef struct __pl_inode pl_inode_t; |