diff options
author | Shyam <srangana@redhat.com> | 2016-06-03 14:58:16 -0400 |
---|---|---|
committer | Jeff Darcy <jdarcy@redhat.com> | 2016-06-08 05:42:07 -0700 |
commit | ea4d4175ab3fc5cc1545ebde4d8d35ba0bf4aa3f (patch) | |
tree | 19ce29734e1414250723af63ab5fccc85f2bb460 | |
parent | 8489fe576b6cf148fabcaeee79f298c41858133e (diff) |
posix2: Creation of experimental shell for posix2 xlator
DHT2 comes with a new backend on-disk format, that requires
a new backend storage xlator. This experimental project will
house the artifacts for the same.
Change-Id: I71a3d60a0415d0c23b2294a02b838810fa8f101f
BUG: 1338991
Signed-off-by: Shyam <srangana@redhat.com>
Reviewed-on: http://review.gluster.org/14646
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | glusterfs.spec.in | 3 | ||||
-rw-r--r-- | xlators/experimental/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/posix2/Makefile.am | 3 | ||||
-rw-r--r-- | xlators/experimental/posix2/README.md | 7 | ||||
-rw-r--r-- | xlators/experimental/posix2/TODO.md | 3 | ||||
-rw-r--r-- | xlators/experimental/posix2/common/Makefile.am | 3 | ||||
-rw-r--r-- | xlators/experimental/posix2/common/src/Makefile.am | 13 | ||||
-rw-r--r-- | xlators/experimental/posix2/common/src/posix2-common.c | 18 | ||||
-rw-r--r-- | xlators/experimental/posix2/ds/Makefile.am | 3 | ||||
-rw-r--r-- | xlators/experimental/posix2/ds/src/Makefile.am | 18 | ||||
-rw-r--r-- | xlators/experimental/posix2/ds/src/posix2-ds-main.c | 59 | ||||
-rw-r--r-- | xlators/experimental/posix2/mds/Makefile.am | 3 | ||||
-rw-r--r-- | xlators/experimental/posix2/mds/src/Makefile.am | 18 | ||||
-rw-r--r-- | xlators/experimental/posix2/mds/src/posix2-mds-main.c | 59 |
15 files changed, 218 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index e0583287560..8433840bce0 100644 --- a/configure.ac +++ b/configure.ac @@ -200,6 +200,13 @@ AC_CONFIG_FILES([Makefile xlators/experimental/dht2/dht2-client/src/Makefile xlators/experimental/dht2/dht2-server/Makefile xlators/experimental/dht2/dht2-server/src/Makefile + xlators/experimental/posix2/Makefile + xlators/experimental/posix2/ds/Makefile + xlators/experimental/posix2/ds/src/Makefile + xlators/experimental/posix2/mds/Makefile + xlators/experimental/posix2/mds/src/Makefile + xlators/experimental/posix2/common/Makefile + xlators/experimental/posix2/common/src/Makefile cli/Makefile cli/src/Makefile doc/Makefile diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 82c0ab79157..a2cd3375528 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -1092,6 +1092,9 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/experimental/jbrc.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/experimental/jbr.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/experimental/dht2s.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/experimental/posix2-ds.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/experimental/posix2-mds.so +%{_libdir}/libposix2common.so %if ( 0%{!?_without_tiering:1} ) %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so %endif diff --git a/xlators/experimental/Makefile.am b/xlators/experimental/Makefile.am index 927e2df654a..a530845c4c0 100644 --- a/xlators/experimental/Makefile.am +++ b/xlators/experimental/Makefile.am @@ -1,3 +1,3 @@ -SUBDIRS = jbr-client jbr-server fdl dht2 +SUBDIRS = jbr-client jbr-server fdl dht2 posix2 CLEANFILES = diff --git a/xlators/experimental/posix2/Makefile.am b/xlators/experimental/posix2/Makefile.am new file mode 100644 index 00000000000..74e5ab0f5bc --- /dev/null +++ b/xlators/experimental/posix2/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = common mds ds + +CLEANFILES = diff --git a/xlators/experimental/posix2/README.md b/xlators/experimental/posix2/README.md new file mode 100644 index 00000000000..955a98d061e --- /dev/null +++ b/xlators/experimental/posix2/README.md @@ -0,0 +1,7 @@ +# POSIX2 Experimental README + +POSIX2 is an implementation of modified storage translator to cater to DHT2 +on disk needs. + +For further understanding, refer to xlators/experimental/dht2/README.md for +details regarding POSIX2 diff --git a/xlators/experimental/posix2/TODO.md b/xlators/experimental/posix2/TODO.md new file mode 100644 index 00000000000..20cd1e89c1d --- /dev/null +++ b/xlators/experimental/posix2/TODO.md @@ -0,0 +1,3 @@ +# POSIX2 TODO List + +<Items will be added as code is pulled into the repository>
\ No newline at end of file diff --git a/xlators/experimental/posix2/common/Makefile.am b/xlators/experimental/posix2/common/Makefile.am new file mode 100644 index 00000000000..a985f42a877 --- /dev/null +++ b/xlators/experimental/posix2/common/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = src + +CLEANFILES = diff --git a/xlators/experimental/posix2/common/src/Makefile.am b/xlators/experimental/posix2/common/src/Makefile.am new file mode 100644 index 00000000000..465f2f2ba32 --- /dev/null +++ b/xlators/experimental/posix2/common/src/Makefile.am @@ -0,0 +1,13 @@ +lib_LTLIBRARIES = libposix2common.la + +posix2_common_sources = posix2-common.c + +libposix2common_la_SOURCES = $(posix2_common_sources) +libposix2common_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +libposix2common_la_CFLAGS = -Wall $(GF_CFLAGS) + +libposix2common_la_CPPFLAGS = $(GF_CPPFLAGS) +libposix2common_la_CPPFLAGS += -I$(top_srcdir)/libglusterfs/src + +CLEANFILES =
\ No newline at end of file diff --git a/xlators/experimental/posix2/common/src/posix2-common.c b/xlators/experimental/posix2/common/src/posix2-common.c new file mode 100644 index 00000000000..14b51d538b2 --- /dev/null +++ b/xlators/experimental/posix2/common/src/posix2-common.c @@ -0,0 +1,18 @@ +/* + Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +/* File: posix2-common.c + * This file contains common routines across ds and mds posix xlators + * The entire functionality including comments is TODO. + */ + +#include "glusterfs.h" +#include "logging.h" +#include "statedump.h" diff --git a/xlators/experimental/posix2/ds/Makefile.am b/xlators/experimental/posix2/ds/Makefile.am new file mode 100644 index 00000000000..a985f42a877 --- /dev/null +++ b/xlators/experimental/posix2/ds/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = src + +CLEANFILES = diff --git a/xlators/experimental/posix2/ds/src/Makefile.am b/xlators/experimental/posix2/ds/src/Makefile.am new file mode 100644 index 00000000000..d29c5e135a2 --- /dev/null +++ b/xlators/experimental/posix2/ds/src/Makefile.am @@ -0,0 +1,18 @@ +xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental +xlator_LTLIBRARIES = posix2-ds.la + +posix2_ds_sources = posix2-ds-main.c + +posix2_ds_la_SOURCES = $(posix2_ds_sources) +posix2_ds_la_LDFLAGS = -module -avoid-version +posix2_ds_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +posix2_ds_la_LIBADD += $(top_builddir)/xlators/experimental/posix2/common/src/libposix2common.la + +AM_CFLAGS = -Wall $(GF_CFLAGS) + +AM_CPPFLAGS = $(GF_CPPFLAGS) +AM_CPPFLAGS += -I$(top_srcdir)/xlators/storage/posix2/common/src +AM_CPPFLAGS += -I$(top_srcdir)/libglusterfs/src +AM_CPPFLAGS += -I$(top_srcdir)/xlators/lib/src + +CLEANFILES =
\ No newline at end of file diff --git a/xlators/experimental/posix2/ds/src/posix2-ds-main.c b/xlators/experimental/posix2/ds/src/posix2-ds-main.c new file mode 100644 index 00000000000..675c4d7c9da --- /dev/null +++ b/xlators/experimental/posix2/ds/src/posix2-ds-main.c @@ -0,0 +1,59 @@ +/* + Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +/* File: posix2-ds-main.c + * This file contains the xlator loading functions, FOP entry points + * and options. + * The entire functionality including comments is TODO. + */ + +#include "glusterfs.h" +#include "xlator.h" +#include "logging.h" +#include "statedump.h" + +int32_t +posix2_ds_init (xlator_t *this) +{ + if (this->children) { + gf_log (this->name, GF_LOG_ERROR, + "This (%s) is a leaf xlator, but found children", + this->name); + return -1; + } + + return 0; +} + +void +posix2_ds_fini (xlator_t *this) +{ + return; +} + +class_methods_t class_methods = { + .init = posix2_ds_init, + .fini = posix2_ds_fini, +}; + +struct xlator_fops fops = { +}; + +struct xlator_cbks cbks = { +}; + +/* +struct xlator_dumpops dumpops = { +}; +*/ + +struct volume_options options[] = { + { .key = {NULL} }, +}; diff --git a/xlators/experimental/posix2/mds/Makefile.am b/xlators/experimental/posix2/mds/Makefile.am new file mode 100644 index 00000000000..a985f42a877 --- /dev/null +++ b/xlators/experimental/posix2/mds/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = src + +CLEANFILES = diff --git a/xlators/experimental/posix2/mds/src/Makefile.am b/xlators/experimental/posix2/mds/src/Makefile.am new file mode 100644 index 00000000000..ddd49ef0012 --- /dev/null +++ b/xlators/experimental/posix2/mds/src/Makefile.am @@ -0,0 +1,18 @@ +xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental +xlator_LTLIBRARIES = posix2-mds.la + +posix2_mds_sources = posix2-mds-main.c + +posix2_mds_la_SOURCES = $(posix2_mds_sources) +posix2_mds_la_LDFLAGS = -module -avoid-version +posix2_mds_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +posix2_mds_la_LIBADD += $(top_builddir)/xlators/experimental/posix2/common/src/libposix2common.la + +AM_CFLAGS = -Wall $(GF_CFLAGS) + +AM_CPPFLAGS = $(GF_CPPFLAGS) +AM_CPPFLAGS += -I$(top_srcdir)/xlators/storage/posix2/common/src +AM_CPPFLAGS += -I$(top_srcdir)/libglusterfs/src +AM_CPPFLAGS += -I$(top_srcdir)/xlators/lib/src + +CLEANFILES =
\ No newline at end of file diff --git a/xlators/experimental/posix2/mds/src/posix2-mds-main.c b/xlators/experimental/posix2/mds/src/posix2-mds-main.c new file mode 100644 index 00000000000..71ff4e0089c --- /dev/null +++ b/xlators/experimental/posix2/mds/src/posix2-mds-main.c @@ -0,0 +1,59 @@ +/* + Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +/* File: posix2-mds-main.c + * This file contains the xlator loading functions, FOP entry points + * and options. + * The entire functionality including comments is TODO. + */ + +#include "glusterfs.h" +#include "xlator.h" +#include "logging.h" +#include "statedump.h" + +int32_t +posix2_mds_init (xlator_t *this) +{ + if (this->children) { + gf_log (this->name, GF_LOG_ERROR, + "This (%s) is a leaf xlator, but found children", + this->name); + return -1; + } + + return 0; +} + +void +posix2_mds_fini (xlator_t *this) +{ + return; +} + +class_methods_t class_methods = { + .init = posix2_mds_init, + .fini = posix2_mds_fini, +}; + +struct xlator_fops fops = { +}; + +struct xlator_cbks cbks = { +}; + +/* +struct xlator_dumpops dumpops = { +}; +*/ + +struct volume_options options[] = { + { .key = {NULL} }, +}; |