diff options
-rw-r--r-- | libglusterfs/src/glusterfs.h | 2 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index 5de585cc595..4e4e5b62ab0 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -162,6 +162,8 @@ /* Index xlator related */ #define GF_XATTROP_INDEX_GFID "glusterfs.xattrop_index_gfid" #define GF_XATTROP_INDEX_COUNT "glusterfs.xattrop_index_count" +#define GF_XATTROP_DIRTY_GFID "glusterfs.xattrop_dirty_gfid" +#define GF_XATTROP_DIRTY_COUNT "glusterfs.xattrop_dirty_count" #define GF_HEAL_INFO "glusterfs.heal-info" #define GF_AFR_HEAL_SBRAIN "glusterfs.heal-sbrain" diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 571b23f3519..43a9a6585d6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1831,6 +1831,7 @@ brick_graph_add_index (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, dict_t *set_dict, glusterd_brickinfo_t *brickinfo) { xlator_t *xl = NULL; + char *pending_xattr = NULL; char index_basepath[PATH_MAX] = {0}; int ret = -1; @@ -1852,7 +1853,23 @@ brick_graph_add_index (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, if (ret) goto out; } + if ((volinfo->type == GF_CLUSTER_TYPE_STRIPE_REPLICATE || + volinfo->type == GF_CLUSTER_TYPE_REPLICATE)) { + ret = xlator_set_option (xl, "xattrop-dirty-watchlist", + "trusted.afr.dirty"); + if (ret) + goto out; + ret = gf_asprintf (&pending_xattr, "trusted.afr.%s-", + volinfo->volname); + if (ret < 0) + goto out; + ret = xlator_set_option (xl, "xattrop-pending-watchlist", + pending_xattr); + if (ret) + goto out; + } out: + GF_FREE (pending_xattr); return ret; } |