本文并不说明怎样编写一个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

 

posted on 2017-07-07 08:35  lxjshuju  阅读(258)  评论(0编辑  收藏  举报