怎样在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 _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的更多相关文章
- 通过ABAP的标准功能,寻找源代码中的字符串
程序名称: *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!
- 【转】如何单独编译Android源代码中的模块--不错
原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...
- 把安卓源代码中的system app独立出来,像开发普通app那样开发
个人建议首先依照android源码的ide/eclipse中的格式化xml和import导入到你编译的eclipse中,假设你编译的android源码是2.3以上的版本号的,建议用JDK6 ...
- 如何单独编译Android源代码中的模块
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...
- qemu-kvm-1.1.0源代码中关于迁移的代码分析
这篇文档基于qemu-kvm-1.1.0源代码进行分析. 首先,源代码中的hmp-commands.hx文件里有下面内容: { .name = "migrate",/* 在moni ...
- 开源远程控制RealVNC源代码中的通讯协议RFB(远程帧缓冲)(转)
在网上流传的gh0st3.6源代码中,远程桌面总是存在CPU占用率高和画面更新不及时等问题.于是想到了著名的开源远程控制RealVNC 它采用了远程帧缓存的协议(Remote Frame buffe ...
- Gogland配置- 去掉Go源代码中的参数提示
Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是 ...
- [linux] vim在源代码中自动添加作者信息(转载)
原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...
- 黑客攻防技术宝典web实战篇:查找源代码中的漏洞习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 列出 3 种可在源代码中找到明确签名的常见漏洞. (a) 跨站点脚本(b) SQL 注入( ...
随机推荐
- base64记载
一丶 js /** * * Base64 encode / decode * * @author haitao.tu * @date 2010-04-26 * @email tuhaitao@foxm ...
- 导入.sql文件入数据库
1.创建数据库,例如abc create database abc; 2.进入数据库 use abc 3.导入e盘下的ssh.sql文件即可 source e:\ssh.sql; 截图如下:
- secureCRT 破解
转自:http://www.cnblogs.com/qingtingzhe/articles/5008902.html
- 2018 CCPC 桂林站(upc复现赛)补题
2018 CCPC 桂林站(upc复现赛)补题 G.Greatest Common Divisor(思维) 求相邻数的差值的gcd,对gcd分解素因子,对所有的素因子做一次遍历,找出最小答案. 几个样 ...
- c++基础_特殊的数字
#include <iostream> #include <math.h> using namespace std; int main(){ ;i<;i++){ ; )% ...
- windows事件查看器
如果一个软件发生异常,软件本身没有提示异常信息, 需要从事件查看器中查看产生的错误事件 运行输入eventvwr或者win + X
- bzoj1455左偏树裸题
#include <stdio.h> bool vi[1000010]; int n,de[1000010],ls[1000010],rs[1000010],va[1000010],fa[ ...
- allegro学习--区域约束
前言: 在有些情况需要我们在走线时在某些区域的时候,线是细的,例如BGA封装的FPGA在引出线的时候,我们希望在FPGA内部的线细,出了FPGA后,线变粗.如图: 这就用到了区域的规则约束. 实现: ...
- 【Kafka问题解决】Connection to xxx could not be established. Broker may not be available.
请检查Kafka的config/server.properties 看看是否有填写 listeners=PLAINTEXT://kafka-host:9092 advertised.listeners ...
- 九度oj 题目1202:排序
题目1202:排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:28802 解决:9408 题目描述: 对输入的n个数进行排序并输出. 输入: 输入的第一行包括一个整数n(1<=n ...