summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJeff Darcy <jdarcy@redhat.com>2016-02-08 13:30:49 -0500
committerJeff Darcy <jdarcy@redhat.com>2016-02-13 05:13:07 -0800
commitc458433041aafb48ae6d6e5fcf3e1e737dc3fda3 (patch)
tree33a03ca0c1f5faf58419de2c4ff4532752ddfb07 /api
parentda33097c3d6492e3b468b4347e47c70828fb4320 (diff)
experimental: add fdl (Full Data Logging) translator
NSR needs logging that is different than our existing changelog in several ways: * Full data, not just metadata * Pre-op, not post-op * High performance * Supports the concept of time-bounded "terms" Others (for example EC) might need the same thing. This patch adds such a translator. It also adds code to dump the resulting journals, and to replay them using syncops, plus (very rudimentary) tests for all of the above. Change-Id: I29680a1b4e0a9e7d5a8497fef302c46434b86636 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/12450 Smoke: Gluster Build System <jenkins@build.gluster.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'api')
-rw-r--r--api/src/gfapi.aliases1
-rw-r--r--api/src/gfapi.map5
-rw-r--r--api/src/glfs.c12
3 files changed, 16 insertions, 2 deletions
diff --git a/api/src/gfapi.aliases b/api/src/gfapi.aliases
index 40b6ed21192..7181dd2f6e8 100644
--- a/api/src/gfapi.aliases
+++ b/api/src/gfapi.aliases
@@ -140,3 +140,4 @@ _priv_glfs_resolve _glfs_resolve$GFAPI_PRIVATE_3.7.0
_priv_glfs_process_upcall_event _glfs_process_upcall_event$GFAPI_PRIVATE_3.7.0
_pub_glfs_h_lookupat _glfs_h_lookupat$GFAPI_3.7.4
+_pub_glfs_ipc_xd _glfs_ipc_xd@GFAPI_4.0.4
diff --git a/api/src/gfapi.map b/api/src/gfapi.map
index d42ae2b97af..b35984a088c 100644
--- a/api/src/gfapi.map
+++ b/api/src/gfapi.map
@@ -167,3 +167,8 @@ GFAPI_3.7.4 {
global:
glfs_h_lookupat;
} GFAPI_PRIVATE_3.7.0;
+
+GFAPI_4.0.0 {
+ global:
+ glfs_ipc_xd;
+} GFAPI_3.7.4;
diff --git a/api/src/glfs.c b/api/src/glfs.c
index b151936a6e8..037b579225f 100644
--- a/api/src/glfs.c
+++ b/api/src/glfs.c
@@ -1233,7 +1233,7 @@ invalid_fs:
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0);
int
-pub_glfs_ipc (struct glfs *fs, int opcode)
+pub_glfs_ipc_xd (struct glfs *fs, int opcode, dict_t *xd_in, dict_t **xd_out)
{
xlator_t *subvol = NULL;
int ret = -1;
@@ -1248,7 +1248,7 @@ pub_glfs_ipc (struct glfs *fs, int opcode)
goto out;
}
- ret = syncop_ipc (subvol, opcode, NULL, NULL);
+ ret = syncop_ipc (subvol, opcode, xd_in, xd_out);
DECODE_SYNCOP_ERR (ret);
out:
@@ -1259,4 +1259,12 @@ invalid_fs:
return ret;
}
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ipc_xd, 4.0.0);
+
+int
+pub_glfs_ipc (struct glfs *fs, int opcode)
+{
+ return pub_glfs_ipc_xd (fs, opcode, NULL, NULL);
+}
+
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ipc, 3.7.0);