diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2011-09-27 14:44:01 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2011-10-19 03:17:17 -0700 |
commit | b80a2a150b874031df35af8d4f06657906024861 (patch) | |
tree | 9205dd82c4614d14104cd27a2ac4ddde42a3d8bf /xlators/cluster/afr/src/afr-self-heal-common.h | |
parent | eab187ce06f6d72aeba297604e132d181da4c502 (diff) |
cluster/afr: Handle files without gfid
Change-Id: Ie831ae8542c1382c17fb7837cd18b0e4e4d3db75
BUG: 3734
Reviewed-on: http://review.gluster.com/619
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-common.h')
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-common.h | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-common.h b/xlators/cluster/afr/src/afr-self-heal-common.h index 043ebea2da6..7a06c2f4b13 100644 --- a/xlators/cluster/afr/src/afr-self-heal-common.h +++ b/xlators/cluster/afr/src/afr-self-heal-common.h @@ -29,11 +29,11 @@ typedef enum { AFR_SELF_HEAL_INVALID = -1, } afr_self_heal_type; -typedef int -(*afr_lookup_cbk_t) (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, inode_t *inode, - struct iatt *buf, dict_t *xattr, - struct iatt *postparent); +typedef enum { + AFR_LOOKUP_FAIL_CONFLICTS = 1, + AFR_LOOKUP_FAIL_MISSING_GFIDS = 2, +} afr_lookup_flags_t; + int afr_sh_select_source (int sources[], int child_count); @@ -84,7 +84,8 @@ void afr_sh_common_reset (afr_self_heal_t *sh, unsigned int child_count); int afr_sh_common_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, - afr_lookup_cbk_t lookup_cbk, gf_boolean_t set_gfid); + afr_lookup_done_cbk_t lookup_cbk, uuid_t uuid, + int32_t flags); int afr_sh_entry_expunge_remove (call_frame_t *expunge_frame, xlator_t *this, int active_src, struct iatt *buf); @@ -95,4 +96,18 @@ int afr_sh_entry_impunge_create (call_frame_t *impunge_frame, xlator_t *this, int child_index, struct iatt *buf, struct iatt *postparent); +afr_local_t * +afr_local_copy (afr_local_t *l, xlator_t *this); +void +afr_sh_set_error (afr_self_heal_t *sh, int32_t op_errno); +typedef int +(*afr_fxattrop_cbk_t) (call_frame_t *frame, void *cookie, + xlator_t *this, int32_t op_ret, int32_t op_errno, + dict_t *xattr); +int +afr_build_child_loc (xlator_t *this, loc_t *child, loc_t *parent, char *name); +int +afr_impunge_frame_create (call_frame_t *frame, xlator_t *this, + int active_source, int ret_child, mode_t entry_mode, + call_frame_t **impunge_frame); #endif /* __AFR_SELF_HEAL_COMMON_H__ */ |