Category Archives: ceph
Installing ceph with ceph-deploy
A ceph-deploy package is created for Ubuntu raring and installed with dpkg -i ceph-deploy_0.0.1-1_all.deb A ssh key is generated without a password and copied over to the root .ssh/authorized_keys file of each host on which ceph-deploy will act: # ssh-keygen … Continue reading
ceph internals : buffer lists
The ceph buffers are used to process data in memory. For instance, when a FileStore handles an OP_WRITE transaction it writes a list of buffers to disk. +———+ | +—–+ | list ptr | | | | +———-+ +—–+ | … Continue reading
Chaining extended attributes in ceph
Ceph uses extended file attributes to store file meta data. It is a list of key / value pairs. Some file systems implementations do not allow to store more than 2048 characters in the value associated with a key. To … Continue reading
unit testing ceph : the Throttle.cc example
The throttle implementation for ceph can be unit tested using threads when it needs to block. The gtest framework produces coverage information to lcov showing that 100% of the lines of code are covered.
ceph code coverage (part 2/2)
WARNING: UPDATE IN PROGRESS When running ceph integration tests with teuthology, code coverage reports shows which lines of code were involved. Adding coverage: true to the integration task and using code compiled for code coverage instrumentation with flavor: gcov collects … Continue reading
ceph code coverage (part 1/2)
The ceph sources are compiled with code coverage enabled root@ceph:/srv/ceph# ./configure –with-debug CFLAGS=’-g’ CXXFLAGS=’-g’ \ –enable-coverage \ –disable-silent-rules and the tests are run cd src ; make check-coverage to create the HTML report which shows where tests could improve code … Continue reading