怎样在gluster的源代码中加入自己的xlator

Posted lxjshuju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在gluster的源代码中加入自己的xlator相关的知识,希望对你有一定的参考价值。

本文并不说明怎样编写一个xlator。在glusterfs3.6.1下验证成功

 

目标在glusterfs-3.6.1/xlators/debug/下建立一个自己的xlator库并能够统一安装到系统文件夹下

一、           解压glusterfs3.6.1.tar.gz

tar zxvf glusterfs3.6.1.tar.gz

cd glusterfs3.6.1

 

 

二、           创建自己定义xlator文件夹testX

mkdir -p xlators/debug/testX/src/

 

三、           改动configure.ac文件

vim configure.ac

添加下面语句在AC_CONFIG_FILES中

xlators/debug/testX/Makefile

xlators/debug/testX/src/Makefile

 

四、           改动父文件夹中的Makefile.am

cd xlators/debug/

vim Makefile.am

在SUBDIRS变量的最后添加文件夹名testX

    

        

五、           进入testX文件夹,创建Makefile.am文件

cd testX

vim Makefile.am

文件内容例如以下:

SUBDIRS = src

CLEANFILES =

六、           进入src文件夹,创建Makefile.am文件

cd src

vim Makefile.am

文件内容例如以下:    

xlator_LTLIBRARIES = testX.la

xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testX

 

testX _la_LDFLAGS = -module -avoid-version

 

testX _la_SOURCES = testX.c

testX _la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la

 

noinst_HEADERS = testX.h

AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src

 

AM_CFLAGS = -Wall $(GF_CFLAGS)

 

CLEANFILES =

 

 

        

说明:

要上图中的testX_la*中的前缀testX必须和xlator_LTLIBRARIES的文件名称前缀一致

xlator_LTLIBRARIES后为要生成的库的名字

xlatordir后为存放库的路径,上图中将testX.so库存放在安装文件夹下的xlator的testX文件夹下

testX_la_SOURCES后跟.c文件列表

noinst_HEADERS后跟头文件列表

七、           创建自己的testX.c和testX.h文件

 

八、           编译安装

编辑完毕后,从新进入到glusterfs3.6.1文件夹下,执行例如以下命令就可以将新的testX文件安装到a安装文件夹下的testX文件夹中

cd ../../../../

./autogen.sh

./ configure

make

make install

 

 

九、           改动配置文件增加testX

 

以上是关于怎样在gluster的源代码中加入自己的xlator的主要内容,如果未能解决你的问题,请参考以下文章

python中怎样在参数中加入变量

我的Android进阶之旅------>怎样在多个LinearLayout中加入分隔线

怎么在JTable表格中加入如JComboBox之类的控件?有注释加分。

怎样在Unity3D 中加入AdMob

在网页中加入音乐

在嵌套类中加入 Csharp linq 选择