请懂Ceph的大神们帮帮忙:
我们实验室在做一个跟Ceph相关的项目,在Ubuntu 12.04的环境下,发现对于源代码的改动在重新编译安装后跟没改动一样。。。
具体:
在Client.cc的7988行,也就是在 client::_create() _函数中,将正在创建的文件名name赋给一个新的变量name2并对name2进行随意修改(例如尾部增加一个字符串),并且在该函数中后面引用name的地方都换成name2。然而,重新编译安装ceph之后,这个修改并未被体现出来。
然后,我直接在这里添加fopen,在一个特定的路径下无条件地新建一个文件,但也没有得到执行。。。
但我确定修改确实在编译安装的时候体现出来了,因为重新make的时候,时间比不修改的情况下明显变长,并且提示正在编译被修改的client.cc相关文件。。。
现在我猜测是不是因为linux内核里已经融入了ceph文件系统的部分,而client.cc编译出的结果由于是动态链接库,linux在执行ceph文件系统IO的时候,在其内核中发现了这部分代码,就不会调用新编译出的动态链接库?
如果是,请问应该怎么弄?如果不是,请问又是什么原因呢?应该怎么解决?
多谢各位了!!!