summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/xlator.h
diff options
context:
space:
mode:
authorAnuradha Talur <atalur@redhat.com>2016-04-21 17:20:09 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-04-25 23:47:28 -0700
commit9996f95b28b3782887b7c233cdc0ba686c38b245 (patch)
tree5fa681f25b95dd9aeec88f3bf86adbc98bd2c1d3 /libglusterfs/src/xlator.h
parent2dc22adbf3361bdab10924943371492cc2817d8a (diff)
performance/decompounder: Introducing decompounder xlator
This xlator decompounds the compound fops received, and executes them serially. Change-Id: Ieddcec3c2983dd9ca7919ba9d7ecaa5192a5f489 BUG: 1303829 Signed-off-by: Anuradha Talur <atalur@redhat.com> Reviewed-on: http://review.gluster.org/13577 Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'libglusterfs/src/xlator.h')
-rw-r--r--libglusterfs/src/xlator.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index 84f48edba2c..052dd978a63 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -452,6 +452,10 @@ typedef int32_t (*fop_lease_cbk_t) (call_frame_t *frame, void *cookie,
xlator_t *this, int32_t op_ret,
int32_t op_errno, struct gf_lease *lease,
dict_t *xdata);
+typedef int32_t (*fop_compound_cbk_t) (call_frame_t *frame,
+ void *cookie, xlator_t *this,
+ int32_t op_ret, int32_t op_errno,
+ void *data, dict_t *xdata);
typedef int32_t (*fop_lookup_t) (call_frame_t *frame,
xlator_t *this,
@@ -702,6 +706,8 @@ typedef int32_t (*fop_seek_t) (call_frame_t *frame, xlator_t *this, fd_t *fd,
typedef int32_t (*fop_lease_t) (call_frame_t *frame, xlator_t *this, loc_t *loc,
struct gf_lease *lease, dict_t *xdata);
+typedef int32_t (*fop_compound_t) (call_frame_t *frame, xlator_t *this,
+ void *args, dict_t *xdata);
struct xlator_fops {
fop_lookup_t lookup;
fop_stat_t stat;
@@ -751,6 +757,7 @@ struct xlator_fops {
fop_ipc_t ipc;
fop_seek_t seek;
fop_lease_t lease;
+ fop_compound_t compound;
/* these entries are used for a typechecking hack in STACK_WIND _only_ */
fop_lookup_cbk_t lookup_cbk;
@@ -801,6 +808,7 @@ struct xlator_fops {
fop_ipc_cbk_t ipc_cbk;
fop_seek_cbk_t seek_cbk;
fop_lease_cbk_t lease_cbk;
+ fop_compound_cbk_t compound_cbk;
};
typedef int32_t (*cbk_forget_t) (xlator_t *this,