diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2015-06-24 08:02:51 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-06-25 19:36:41 -0700 |
commit | 7a99dacc0eb5c31ba2d95615f4fe787c03a311df (patch) | |
tree | 7e0b69de9b11a0d868847be5ed3b123f46467f84 /xlators/cluster/afr/src/afr.h | |
parent | 90f5a6cd669660785213a187c9fa7a587cd15257 (diff) |
cluster/afr: Pick gfid from poststat during fresh lookup for read child calculation
Backport of: http://review.gluster.org/11373
Change-Id: I3ddc70cb0e7dbd1ef8adb352393b5ec16464fc94
BUG: 1212842
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/11391
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r-- | xlators/cluster/afr/src/afr.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h index 855d3a3680e..e6e7f3eb13b 100644 --- a/xlators/cluster/afr/src/afr.h +++ b/xlators/cluster/afr/src/afr.h @@ -755,6 +755,11 @@ typedef struct afr_spbc_timeout { int spb_child_index; } afr_spbc_timeout_t; +typedef struct afr_read_subvol_args { + ia_type_t ia_type; + uuid_t gfid; +} afr_read_subvol_args_t; + /* did a call fail due to a child failing? */ #define child_went_down(op_ret, op_errno) (((op_ret) < 0) && \ ((op_errno == ENOTCONN) || \ @@ -787,7 +792,8 @@ afr_inode_read_subvol_reset (inode_t *inode, xlator_t *this); int afr_read_subvol_select_by_policy (inode_t *inode, xlator_t *this, - unsigned char *readable); + unsigned char *readable, + afr_read_subvol_args_t *args); int afr_inode_read_subvol_type_get (inode_t *inode, xlator_t *this, @@ -795,13 +801,14 @@ afr_inode_read_subvol_type_get (inode_t *inode, xlator_t *this, int type); int afr_read_subvol_get (inode_t *inode, xlator_t *this, int *subvol_p, - int *event_p, afr_transaction_type type); + int *event_p, afr_transaction_type type, + afr_read_subvol_args_t *args); -#define afr_data_subvol_get(i, t, s, e) \ - afr_read_subvol_get(i, t, s, e, AFR_DATA_TRANSACTION) +#define afr_data_subvol_get(i, t, s, e, a) \ + afr_read_subvol_get(i, t, s, e, AFR_DATA_TRANSACTION, a) -#define afr_metadata_subvol_get(i, t, s, e) \ - afr_read_subvol_get(i, t, s, e, AFR_METADATA_TRANSACTION) +#define afr_metadata_subvol_get(i, t, s, e, a) \ + afr_read_subvol_get(i, t, s, e, AFR_METADATA_TRANSACTION, a) int afr_inode_refresh (call_frame_t *frame, xlator_t *this, inode_t *inode, |