summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/xlator.h
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2018-02-13 06:24:18 +0530
committerAmar Tumballi <amarts@redhat.com>2018-03-09 18:32:56 +0000
commit940f870f4716f9cd32c68db95aa326a0ae87bf03 (patch)
tree36ccd616706422a69b771b0402e55f56dbd84093 /libglusterfs/src/xlator.h
parentb2613c9eed6b9d840bc88105dadf282488e6cd64 (diff)
core: provide infra to make any xlator pass-through
updates: #304 Change-Id: If6a13d2e56b195390a386d720103a882e077f66c Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'libglusterfs/src/xlator.h')
-rw-r--r--libglusterfs/src/xlator.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index bfab57a0133..b03998d36af 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -1039,6 +1039,10 @@ struct _xlator {
/* identifier: a full string which can unique identify the xlator */
char *identifier;
+
+ /* Is this pass_through? */
+ gf_boolean_t pass_through;
+ struct xlator_fops *pass_through_fops;
};
typedef struct {
@@ -1123,6 +1127,11 @@ typedef struct {
/* dumpops: a structure again, with methods to dump the details.
optional. */
struct xlator_dumpops *dumpops;
+
+ /* struct pass_through_fops: optional. provides all the filesystem
+ operations which should be used if the xlator is marked as pass_through */
+ /* by default, the default_fops would be used */
+ struct xlator_fops *pass_through_fops;
} xlator_api_t;
#define xlator_has_parent(xl) (xl->parents != NULL)