diff options
Diffstat (limited to 'xlators/features/marker/src/marker.h')
-rw-r--r-- | xlators/features/marker/src/marker.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/xlators/features/marker/src/marker.h b/xlators/features/marker/src/marker.h index aadd8776637..f198859062e 100644 --- a/xlators/features/marker/src/marker.h +++ b/xlators/features/marker/src/marker.h @@ -80,6 +80,18 @@ enum { frame->cookie = NULL; \ } while (0) +#define MARKER_STACK_UNWIND(fop, frame, params...) \ + do { \ + quota_local_t *_local = NULL; \ + if (frame) { \ + _local = frame->local; \ + frame->local = NULL; \ + } \ + STACK_UNWIND_STRICT (fop, frame, params); \ + if (_local) \ + marker_local_unref (_local); \ + } while (0) + struct marker_local{ uint32_t timebuf[2]; pid_t pid; |