From 4c55f76d6a4d13ec1ed3cffd31ff4acc3d3122f0 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Fri, 1 Jul 2011 00:18:53 +0000 Subject: afr/stripe: collect pathinfo xattrs from all childs Signed-off-by: Venky Shankar Signed-off-by: Anand Avati BUG: 3046 (getxattr for afr should returns realpath from all childs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3046 --- xlators/cluster/stripe/src/stripe.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'xlators/cluster/stripe/src/stripe.h') diff --git a/xlators/cluster/stripe/src/stripe.h b/xlators/cluster/stripe/src/stripe.h index 6934244a7..a6b9375b4 100644 --- a/xlators/cluster/stripe/src/stripe.h +++ b/xlators/cluster/stripe/src/stripe.h @@ -37,6 +37,8 @@ #include #include +#define STRIPE_PATHINFO_HEADER "STRIPE:" + #define STRIPE_STACK_UNWIND(fop, frame, params ...) do { \ stripe_local_t *__local = NULL; \ @@ -62,6 +64,12 @@ } \ } while (0) +typedef struct stripe_xattr_sort { + int32_t pos; + int32_t pathinfo_len; + char *pathinfo; +} stripe_xattr_sort_t; + /** * struct stripe_options : This keeps the pattern and the block-size * information, which is used for striping on a file. @@ -165,6 +173,10 @@ struct stripe_local { /* For File I/O fops */ dict_t *dict; + stripe_xattr_sort_t *xattr_list; + int32_t xattr_total_len; + int32_t nallocs; + struct marker_str marker; /* General usage */ -- cgit