diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2014-03-24 22:54:03 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-04-02 10:50:32 -0700 |
commit | e75be8977ede9b9174d20b39c427e6fb4ccde567 (patch) | |
tree | 974d602b551d7d981fa6e1aeeea34e424252927e /xlators/cluster/afr/src/afr.h | |
parent | 1c1b8269d994c0885d753c8f0da8d5154876c7ae (diff) |
cluster/afr: Remove eager-lock stub on finodelk failure
Problem:
For write fops afr's transaction eager-lock init adds transactions
that can share eager-lock to fdctx list. But if eager-lock finodelk
fop fails the stub remains in the list. This could later lead to
corruption of the list and lead to infinite loop on the list
leading to a mount hang.
Fix:
Remove the stub when finodelk fails.
Change-Id: I0ed4bc6b62f26c5e891c1181a6871ee6e4f4f5fd
BUG: 1063190
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/6944
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r-- | xlators/cluster/afr/src/afr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h index 2e1b78d1c9f..36042f7b2e5 100644 --- a/xlators/cluster/afr/src/afr.h +++ b/xlators/cluster/afr/src/afr.h @@ -971,4 +971,6 @@ afr_handle_open_fd_count (call_frame_t *frame, xlator_t *this); int afr_local_pathinfo (char *pathinfo, gf_boolean_t *is_local); +void +afr_remove_eager_lock_stub (afr_local_t *local); #endif /* __AFR_H__ */ |