diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2012-06-04 19:13:49 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-06-06 12:35:44 -0700 |
commit | b8fb6096b94905e2d304cd4219a70939495bfcc5 (patch) | |
tree | be69ece092ed352f7d71e017c7df482df42c5e1c /xlators/protocol/client/src/client.h | |
parent | 497532ef7e5c4361ac6c2c76fe5f2d209b986953 (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.
Change-Id: Ic94e5738c8585ed86801d2eed9ddab1015246710
BUG: 826080
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/3517
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@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 64066dd0add..ac999db5a16 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; |