本文并不说明怎样编写一个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的更多相关文章

  1. 通过ABAP的标准功能,寻找源代码中的字符串

    程序名称: *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!

  2. 【转】如何单独编译Android源代码中的模块--不错

    原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...

  3. 把安卓源代码中的system app独立出来,像开发普通app那样开发

          个人建议首先依照android源码的ide/eclipse中的格式化xml和import导入到你编译的eclipse中,假设你编译的android源码是2.3以上的版本号的,建议用JDK6 ...

  4. 如何单独编译Android源代码中的模块

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...

  5. qemu-kvm-1.1.0源代码中关于迁移的代码分析

    这篇文档基于qemu-kvm-1.1.0源代码进行分析. 首先,源代码中的hmp-commands.hx文件里有下面内容: { .name = "migrate",/* 在moni ...

  6. 开源远程控制RealVNC源代码中的通讯协议RFB(远程帧缓冲)(转)

    在网上流传的gh0st3.6源代码中,远程桌面总是存在CPU占用率高和画面更新不及时等问题.于是想到了著名的开源远程控制RealVNC  它采用了远程帧缓存的协议(Remote Frame buffe ...

  7. Gogland配置- 去掉Go源代码中的参数提示

    Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是 ...

  8. [linux] vim在源代码中自动添加作者信息(转载)

    原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...

  9. 黑客攻防技术宝典web实战篇:查找源代码中的漏洞习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 列出 3 种可在源代码中找到明确签名的常见漏洞. (a) 跨站点脚本(b) SQL 注入( ...

随机推荐

  1. scws分词配置

    1.下载安装包 wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xjf - 2.进入源码目录配置和编译 ...

  2. 检查sql对象是否存在

    SQL Server判断对象是否存在   1 判断数据库是否存在 Sql代码  if exists (select * from sys.databases where name = '数据库名')  ...

  3. IIS+php服务器无法上传图片解决办法

    查找网上资料,发现php.ini下面有2个地方关于上传的配置: file_uploads = On  这里设置是否允许HTTP上传,默认应该为ON的 ;upload_tmp_dir=  这里设置上传文 ...

  4. python使用zipfile解压文件中文乱码问题

    中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...

  5. CentOS7 export命令

    一.windows下的环境变量 在windows系统下,很多软件安装都需要配置环境变量,比如安装jdk,假如你没有配置环境变量,那么在非软件安装的目录下使用javac命令,系统将会报这不是系统内部命令 ...

  6. windows系统查看目录树

    进入到需要查看的目录后,按住shift键,然后单击鼠标右键,选择“在此处打开命令窗口”,然后命令行窗口界面. 1.若是只查看该目录下有哪些目录,输入tree即可 2.若是显示该目录及其子目录下的所有目 ...

  7. 树莓派 - platform总线,设备和驱动

    以树莓派为例子,分析一下其中LED的 platform device 和 platform driver. 查看LED设备,被挂载在/sys/devices/platform下. 注意其中的drive ...

  8. SAX解析XML-例子

    1.要解析的xml <?xml version="1.0" encoding="UTF-8"?> <employees> <emp ...

  9. 安装nvm 切换nodejs版本

    删除已安装的nodejs--------------------------------------------------------------- #查看已经安装在全局的模块,以便删除这些全局模块 ...

  10. 十款开发者常用的Chrome插件,让chrome成为开发利器!

    Chrome浏览器无论是作为浏览器市场的NO1还是其强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择的浏览器.chrome浏览器也因为其丰富的Chrome插件,帮助开发者们在开发流程中极 ...