diff options
Diffstat (limited to 'xlators/features/quota/src/quota.h')
-rw-r--r-- | xlators/features/quota/src/quota.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/xlators/features/quota/src/quota.h b/xlators/features/quota/src/quota.h index 84c3257feec..5a4bcb2b1e0 100644 --- a/xlators/features/quota/src/quota.h +++ b/xlators/features/quota/src/quota.h @@ -80,6 +80,23 @@ } \ } while (0); +#define QUOTA_STACK_WIND_TAIL(frame, params...) \ + do { \ + quota_local_t *_local = NULL; \ + xlator_t *_this = NULL; \ + \ + if (frame) { \ + _local = frame->local; \ + _this = frame->this; \ + frame->local = NULL; \ + } \ + \ + STACK_WIND_TAIL (frame, params); \ + \ + if (_local) \ + quota_local_cleanup (_this, _local); \ + } while (0) + #define QUOTA_STACK_UNWIND(fop, frame, params...) \ do { \ quota_local_t *_local = NULL; \ @@ -186,6 +203,7 @@ struct quota_local { int64_t space_available; quota_ancestry_built_t ancestry_cbk; void *ancestry_data; + dict_t *xdata; }; typedef struct quota_local quota_local_t; |