summaryrefslogtreecommitdiffstats
path: root/xlators/features/locks/src/locks.h
diff options
context:
space:
mode:
authorSusant Palai <spalai@redhat.com>2019-07-22 15:20:43 +0530
committerAmar Tumballi <amarts@redhat.com>2019-08-02 14:26:40 +0000
commitd072dc09f5bc6431ba31244cf7e9eba1b6e85229 (patch)
treeb7f0c4f10bf353d6c497ccafa18cc3600b5bf86c /xlators/features/locks/src/locks.h
parent84f7794547522463841068063b22fd3a8d8fca2b (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>
Diffstat (limited to 'xlators/features/locks/src/locks.h')
-rw-r--r--xlators/features/locks/src/locks.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/features/locks/src/locks.h b/xlators/features/locks/src/locks.h
index b817960..0ab2aa6 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;