diff options
author | Rajesh Amaravathi <rajesh@redhat.com> | 2012-11-15 12:04:34 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2012-11-19 23:30:31 -0800 |
commit | b34235bfee175be1dcaad8056239e69f76ae3e95 (patch) | |
tree | 312987d2e5c59de6c61c8064f76480dedc100e63 /xlators/protocol/client/src/client.h | |
parent | 775626f44f30e38cccd5efcd959b61f4f0f61969 (diff) |
protocol/client: Remember the gfid of opened fd
This is needed when the fresh lookup triggers self-heal, gfid
won't be present in inode yet. Similar situation happens with
Rebalance as it does not perform inode_link.
Added similar fix for re-opendir.
Removed inode from fdctx and removed some duplication of code.
BUG: 826080
Change-Id: I5840b86bf70ef73d40ae899b34a210b2dbcbf91f
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com>
Reviewed-on: http://review.gluster.org/4192
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/protocol/client/src/client.h')
-rw-r--r-- | xlators/protocol/client/src/client.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h index 64066dd0a..ac999db5a 100644 --- a/xlators/protocol/client/src/client.h +++ b/xlators/protocol/client/src/client.h @@ -116,9 +116,6 @@ typedef struct _client_fd_ctx { fd's position in the saved_fds list. */ int64_t remote_fd; - inode_t *inode; - uint64_t ino; - uint64_t gen; char is_dir; char released; int32_t flags; @@ -126,6 +123,7 @@ typedef struct _client_fd_ctx { fd_lk_ctx_t *lk_ctx; pthread_mutex_t mutex; lk_heal_state_t lk_heal_state; + uuid_t gfid; struct list_head lock_list; /* List of all granted locks on this fd */ } clnt_fd_ctx_t; |