summaryrefslogtreecommitdiffstats
path: root/extras/create_new_xlator/new-xlator-tmpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'extras/create_new_xlator/new-xlator-tmpl.c')
-rw-r--r--extras/create_new_xlator/new-xlator-tmpl.c107
1 files changed, 91 insertions, 16 deletions
diff --git a/extras/create_new_xlator/new-xlator-tmpl.c b/extras/create_new_xlator/new-xlator-tmpl.c
index ac08f3732a7..1f2f9c316a2 100644
--- a/extras/create_new_xlator/new-xlator-tmpl.c
+++ b/extras/create_new_xlator/new-xlator-tmpl.c
@@ -48,42 +48,117 @@ err:
#pragma fragment INCLUDE_IN_SRC_FILE
#include "@XL_NAME@.h"
-#pragma fragment INCLUDE_IN_HEADER_FILE
-#include "@XL_NAME@-mem-types.h"
-#include "@XL_NAME@-messages.h"
-#include "glusterfs.h"
-#include "xlator.h"
-#include "defaults.h"
-
#pragma fragment XLATOR_METHODS
-int32_t
-init (xlator_t *this)
+
+static int32_t
+@FOP_PREFIX@_init (xlator_t *this)
{
return 0;
}
-void
-fini (xlator_t *this)
+static void
+@FOP_PREFIX@_fini (xlator_t *this)
{
return;
}
-int32_t
-reconfigure (xlator_t *this, dict_t *dict)
+static int32_t
+@FOP_PREFIX@_reconfigure (xlator_t *this, dict_t *dict)
{
return 0;
}
-int
-notify (xlator_t *this, int event, void *data, ...)
+static int
+@FOP_PREFIX@_notify (xlator_t *this, int event, void *data, ...)
{
return default_notify (this, event, data);
}
+static int32_t
+@FOP_PREFIX@_mem_acct_init (xlator_t *this)
+{
+ int ret = -1;
+
+ ret = xlator_mem_acct_init (this, gf_@FOP_PREFIX@_mt_end + 1);
+ return ret;
+}
+
+static int32_t
+@FOP_PREFIX@_dump_metrics (xlator_t *this, int fd)
+{
+ return 0;
+}
+
+struct volume_options @FOP_PREFIX@_options[] = {
+ /*{ .key = {""},
+ .type = GF_OPTION_TYPE_BOOL,
+ .default_value = "",
+ .op_version = {GD_OP_VERSION_},
+ .flags = OPT_FLAG_SETTABLE | OPT_FLAG_DOC | OPT_FLAG_CLIENT_OPT,
+ .tags = {""},
+ .description = ""
+ },
+ { .key = {NULL} },
+ */
+};
+
+xlator_api_t xlator_api = {
+ .init = @FOP_PREFIX@_init,
+ .fini = @FOP_PREFIX@_fini,
+ .notify = @FOP_PREFIX@_notify,
+ .reconfigure = @FOP_PREFIX@_reconfigure,
+ .mem_acct_init = @FOP_PREFIX@_mem_acct_init,
+ .dump_metrics = @FOP_PREFIX@_dump_metrics,
+ .op_version = {GD_OP_VERSION_},
+ .dumpops = &@FOP_PREFIX@_dumpops,
+ .fops = &@FOP_PREFIX@_fops,
+ .cbks = &@FOP_PREFIX@_cbks,
+ .options = @FOP_PREFIX@_options,
+ .identifier = "@XL_NAME@",
+};
#pragma fragment HEADER_FMT
#ifndef __@HFL_NAME@_H__
#define __@HFL_NAME@_H__
-@INCLUDE_SECT@
+#include "@XL_NAME@-mem-types.h"
+#include "@XL_NAME@-messages.h"
+#include "glusterfs.h"
+#include "xlator.h"
+#include "defaults.h"
+
+#endif /* __@HFL_NAME@_H__ */
+
+#pragma fragment MEM_HEADER_FMT
+#ifndef __@HFL_NAME@_H__
+#define __@HFL_NAME@_H__
+
+#include "mem-types.h"
+
+enum gf_mdc_mem_types_ {
+ gf_@FOP_PREFIX@_mt_ = gf_common_mt_end + 1,
+ gf_@FOP_PREFIX@_mt_end
+};
+
+#endif /* __@HFL_NAME@_H__ */
+
+#pragma fragment MSG_HEADER_FMT
+#ifndef __@HFL_NAME@_H__
+#define __@HFL_NAME@_H__
+
+#include "glfs-message-id.h"
+
+/* To add new message IDs, append new identifiers at the end of the list.
+ *
+ * Never remove a message ID. If it's not used anymore, you can rename it or
+ * leave it as it is, but not delete it. This is to prevent reutilization of
+ * IDs by other messages.
+ *
+ * The component name must match one of the entries defined in
+ * glfs-message-id.h.
+ */
+
+GLFS_MSGID(@FOP_PREFIX@,
+ @FOP_PREFIX@_MSG_NO_MEMORY
+);
#endif /* __@HFL_NAME@_H__ */