gpfswrap: Add wrappers for tracing API
authorChristof Schmitt <cs@samba.org>
Tue, 24 Feb 2015 23:18:59 +0000 (16:18 -0700)
committerChristof Schmitt <cs@samba.org>
Mon, 23 Mar 2015 20:22:12 +0000 (21:22 +0100)
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
lib/util/gpfswrap.c
lib/util/gpfswrap.h

index aac2f44405d0679364b2dc469b4f33c75a1e94e0..732fcb6974447e6d985fa47804a08928efda9c74 100644 (file)
@@ -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();
+}
index d30b05f42212b782abe5b887b170b660455f6246..fc8ac4ac4c1b32d878d58d8b14205eede81ec3f2 100644 (file)
@@ -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