diff options
-rw-r--r-- | xlators/cluster/stripe/src/stripe.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c index c44bac57525..227af8c9e33 100644 --- a/xlators/cluster/stripe/src/stripe.c +++ b/xlators/cluster/stripe/src/stripe.c @@ -595,8 +595,11 @@ stripe_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_del (xattr_req, GF_CONTENT_KEY); } - /* get stripe-size xattr on lookup for pathinfo string */ - if (xattr_req && IA_ISREG (loc->inode->ia_type)) { + /* get stripe-size xattr on lookup. This would be required for + * open/read/write/pathinfo calls. Hence we send down the request + * even when type == IA_INVAL */ + if (xattr_req && (IA_ISREG (loc->inode->ia_type) || + (loc->inode->ia_type == IA_INVAL))) { ret = stripe_xattr_request_build (this, xattr_req, 8, 4, 4); if (ret) gf_log (this->name , GF_LOG_ERROR, "Failed to build" |