Thanks Yehuda, your command works. I can finally get rbd work on unstable code. On Mon, Aug 9, 2010 at 11:48 AM, Yehuda Sadeh Weinraub <yehudasa@xxxxxxxxx> wrote: > On Sun, Aug 8, 2010 at 8:04 PM, Xiaoguang Liu <syslxg@xxxxxxxxx> wrote: >> I tried both ways. none of them worked. >> >> BTW, Yehuda said the new class should be v1.2. why I saw 1.0.0 in the >> error message: >> >> Loading class: /usr/lib64/rados-classes/libcls_rbd.so.1.0.0: Error: >> Could not detect class name. >> > > The 1.0.0 is the shared object version number, not really related to > the class version. This should work: > > $ ceph class add -i /usr/lib64/rados-classes/libcls_rbd.so.1.0.0 rbd 1.2 x86-64 > > We do need to find some better solution for cases where the binaries > are stripped. Currently we avoid stripping all the symbols that have > __cls inside and we encode the class name and version there, e.g.: > 0000000000209734 B __cls_name__rbd > 0000000000209730 B __cls_ver__1_2 > > Then we run the cclsinfo script on the binary and it gets the class > name and version out of the shared object, along with the architecture > it was compiled on. We'd like to be able to keep all the different > classes for the different architecture in the same place. > Probably another solution that doesn't require all this hackery will > just hold the class name and version in the shared object filename > and we'll put the shared objects under a subdir per architecture. > > Yehuda > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html