summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2015-02-24 16:18:59 -0700
committerChristof Schmitt <cs@samba.org>2015-03-23 21:22:12 +0100
commitb818e09c022589b073595f72b573cf93d3d197a4 (patch)
tree519260db0efe0353cbf4ae43f57ea49bf8a65beb /lib
parent8dcf8cfe66e5d94f62f07b1710210236c01a8f97 (diff)
downloadsamba-b818e09c022589b073595f72b573cf93d3d197a4.tar.gz
gpfswrap: Add wrappers for tracing API
Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/util/gpfswrap.c46
-rw-r--r--lib/util/gpfswrap.h4
2 files changed, 50 insertions, 0 deletions
diff --git a/lib/util/gpfswrap.c b/lib/util/gpfswrap.c
index aac2f44405d..732fcb69744 100644
--- a/lib/util/gpfswrap.c
+++ b/lib/util/gpfswrap.c
@@ -40,6 +40,10 @@ static int (*gpfs_set_times_path_fn)(char *pathname, int flags,
static int (*gpfs_quotactl_fn)(char *pathname, int cmd, int id, void *bufp);
static int (*gpfs_fcntl_fn)(int fd, void *argp);
static int (*gpfs_getfilesetid_fn)(char *pathname, char *name, int *idp);
+static int (*gpfs_init_trace_fn)(void);
+static int (*gpfs_query_trace_fn)(void);
+static void (*gpfs_add_trace_fn)(int level, const char *msg);
+static void (*gpfs_fini_trace_fn)(void);
int gpfswrap_init(void)
{
@@ -69,6 +73,10 @@ int gpfswrap_init(void)
gpfs_quotactl_fn = dlsym(l, "gpfs_quotactl");
gpfs_fcntl_fn = dlsym(l, "gpfs_fcntl");
gpfs_getfilesetid_fn = dlsym(l, "gpfs_getfilesetid");
+ gpfs_init_trace_fn = dlsym(l, "gpfs_init_trace");
+ gpfs_query_trace_fn = dlsym(l, "gpfs_query_trace");
+ gpfs_add_trace_fn = dlsym(l, "gpfs_add_trace");
+ gpfs_fini_trace_fn = dlsym(l, "gpfs_fini_trace");
return 0;
}
@@ -224,3 +232,41 @@ int gpfswrap_getfilesetid(char *pathname, char *name, int *idp)
return gpfs_getfilesetid_fn(pathname, name, idp);
}
+
+int gpfswrap_init_trace(void)
+{
+ if (gpfs_init_trace_fn == NULL) {
+ errno = ENOSYS;
+ return -1;
+ }
+
+ return gpfs_init_trace_fn();
+}
+
+int gpfswrap_query_trace(void)
+{
+ if (gpfs_query_trace_fn == NULL) {
+ errno = ENOSYS;
+ return -1;
+ }
+
+ return gpfs_query_trace_fn();
+}
+
+void gpfswrap_add_trace(int level, const char *msg)
+{
+ if (gpfs_add_trace_fn == NULL) {
+ return;
+ }
+
+ gpfs_add_trace_fn(level, msg);
+}
+
+void gpfswrap_fini_trace(void)
+{
+ if (gpfs_fini_trace_fn == NULL) {
+ return;
+ }
+
+ gpfs_fini_trace_fn();
+}
diff --git a/lib/util/gpfswrap.h b/lib/util/gpfswrap.h
index d30b05f4221..fc8ac4ac4c1 100644
--- a/lib/util/gpfswrap.h
+++ b/lib/util/gpfswrap.h
@@ -44,5 +44,9 @@ int gpfswrap_set_times_path(char *pathname, int flags,
int gpfswrap_quotactl(char *pathname, int cmd, int id, void *bufp);
int gpfswrap_fcntl(int fd, void *argp);
int gpfswrap_getfilesetid(char *pathname, char *name, int *idp);
+int gpfswrap_init_trace(void);
+int gpfswrap_query_trace(void);
+void gpfswrap_add_trace(int level, const char *msg);
+void gpfswrap_fini_trace(void);
#endif