diff options
Diffstat (limited to 'xlators/performance/readdir-ahead/src/readdir-ahead.h')
-rw-r--r-- | xlators/performance/readdir-ahead/src/readdir-ahead.h | 127 |
1 files changed, 63 insertions, 64 deletions
diff --git a/xlators/performance/readdir-ahead/src/readdir-ahead.h b/xlators/performance/readdir-ahead/src/readdir-ahead.h index 7dbed4c60ed..b5e13800826 100644 --- a/xlators/performance/readdir-ahead/src/readdir-ahead.h +++ b/xlators/performance/readdir-ahead/src/readdir-ahead.h @@ -12,86 +12,85 @@ #define __READDIR_AHEAD_H /* state flags */ -#define RDA_FD_NEW (1 << 0) -#define RDA_FD_RUNNING (1 << 1) -#define RDA_FD_EOD (1 << 2) -#define RDA_FD_ERROR (1 << 3) -#define RDA_FD_BYPASS (1 << 4) -#define RDA_FD_PLUGGED (1 << 5) +#define RDA_FD_NEW (1 << 0) +#define RDA_FD_RUNNING (1 << 1) +#define RDA_FD_EOD (1 << 2) +#define RDA_FD_ERROR (1 << 3) +#define RDA_FD_BYPASS (1 << 4) +#define RDA_FD_PLUGGED (1 << 5) - -#define RDA_COMMON_MODIFICATION_FOP(name, frame, this, __inode, __xdata, args ...)\ - do { \ - struct rda_local *__local = NULL; \ - rda_inode_ctx_t *ctx_p = NULL; \ +#define RDA_COMMON_MODIFICATION_FOP(name, frame, this, __inode, __xdata, \ + args...) \ + do { \ + struct rda_local *__local = NULL; \ + rda_inode_ctx_t *ctx_p = NULL; \ \ - __local = mem_get0 (this->local_pool); \ - __local->inode = inode_ref (__inode); \ - LOCK (&__inode->lock); \ - { \ - ctx_p = __rda_inode_ctx_get (__inode, this); \ - } \ - UNLOCK (&__inode->lock); \ - __local->generation = GF_ATOMIC_GET (ctx_p->generation); \ + __local = mem_get0(this->local_pool); \ + __local->inode = inode_ref(__inode); \ + LOCK(&__inode->lock); \ + { \ + ctx_p = __rda_inode_ctx_get(__inode, this); \ + } \ + UNLOCK(&__inode->lock); \ + __local->generation = GF_ATOMIC_GET(ctx_p->generation); \ \ - frame->local = __local; \ - if (__xdata) \ - __local->xattrs = dict_ref (__xdata); \ + frame->local = __local; \ + if (__xdata) \ + __local->xattrs = dict_ref(__xdata); \ \ - STACK_WIND (frame, rda_##name##_cbk, FIRST_CHILD(this), \ - FIRST_CHILD(this)->fops->name, args, __xdata); \ - } while (0) - - -#define RDA_STACK_UNWIND(fop, frame, params ...) do { \ - struct rda_local *__local = NULL; \ - if (frame) { \ - __local = frame->local; \ - frame->local = NULL; \ - } \ - STACK_UNWIND_STRICT (fop, frame, params); \ - if (__local) { \ - rda_local_wipe (__local); \ - mem_put (__local); \ - } \ -} while (0) + STACK_WIND(frame, rda_##name##_cbk, FIRST_CHILD(this), \ + FIRST_CHILD(this)->fops->name, args, __xdata); \ + } while (0) +#define RDA_STACK_UNWIND(fop, frame, params...) \ + do { \ + struct rda_local *__local = NULL; \ + if (frame) { \ + __local = frame->local; \ + frame->local = NULL; \ + } \ + STACK_UNWIND_STRICT(fop, frame, params); \ + if (__local) { \ + rda_local_wipe(__local); \ + mem_put(__local); \ + } \ + } while (0) struct rda_fd_ctx { - off_t cur_offset; /* current head of the ctx */ - size_t cur_size; /* current size of the preload */ - off_t next_offset; /* tail of the ctx */ - uint32_t state; - gf_lock_t lock; - gf_dirent_t entries; - call_frame_t *fill_frame; - call_stub_t *stub; - int op_errno; - dict_t *xattrs; /* md-cache keys to be sent in readdirp() */ + off_t cur_offset; /* current head of the ctx */ + size_t cur_size; /* current size of the preload */ + off_t next_offset; /* tail of the ctx */ + uint32_t state; + gf_lock_t lock; + gf_dirent_t entries; + call_frame_t *fill_frame; + call_stub_t *stub; + int op_errno; + dict_t *xattrs; /* md-cache keys to be sent in readdirp() */ }; struct rda_local { - struct rda_fd_ctx *ctx; - fd_t *fd; - dict_t *xattrs; /* md-cache keys to be sent in readdirp() */ - inode_t *inode; - off_t offset; - uint64_t generation; - int32_t skip_dir; + struct rda_fd_ctx *ctx; + fd_t *fd; + dict_t *xattrs; /* md-cache keys to be sent in readdirp() */ + inode_t *inode; + off_t offset; + uint64_t generation; + int32_t skip_dir; }; struct rda_priv { - uint64_t rda_req_size; - uint64_t rda_low_wmark; - uint64_t rda_high_wmark; - uint64_t rda_cache_limit; - gf_atomic_t rda_cache_size; - gf_boolean_t parallel_readdir; + uint64_t rda_req_size; + uint64_t rda_low_wmark; + uint64_t rda_high_wmark; + uint64_t rda_cache_limit; + gf_atomic_t rda_cache_size; + gf_boolean_t parallel_readdir; }; typedef struct rda_inode_ctx { - struct iatt statbuf; - gf_atomic_t generation; + struct iatt statbuf; + gf_atomic_t generation; } rda_inode_ctx_t; #endif /* __READDIR_AHEAD_H */ |