For tools that would like to know which dentries are
touched by a metablob, without understanding its
internal format.
Signed-off-by: John Spray <john.spray@inktank.com>
Two problems were causing undump to fail:
* Objecter lock was not being taken around call to
.write() and .write_full() calls, causing assertion.
* Once that is fixed, it is necessary to use a separate,
local lock to protect the completion condition for
write operations
Signed-off-by: John Spray <john.spray@inktank.com>
CInode itself combined the on-disk format and
encode/decode logic with lots of other complex
behaviours. This separates the simple parts
out so that they can be used by other tools that
are interested in looking at inodes outside of
a running MDS.
There is a small overhead because CInodeStore
can't decode a SnapRealm inline, so it keeps
a temporary copy of the encoded bufferlist.
Signed-off-by: John Spray <john.spray@inktank.com>
Previously the only way to get at the payload
of things like EUpdate and EOpen was to replay() them
(required a full running MDS) or to use downcasting
(yuck).
Signed-off-by: John Spray <john.spray@inktank.com>
This allows us to implement journal splicing
without moving blocks around, and without modifying
the outer journal syntax.
Signed-off-by: John Spray <john.spray@inktank.com>
* Separate journal encoding/envelope format
code (JournalStream) from I/O code (Journaler)
* Add new sentinel and start_ptr fields to
prefix and suffix of log events.
* Add journal encoding version to journal header
Signed-off-by: John Spray <john.spray@inktank.com>
Suppress messages about failure to register admin sockets
if they are EEXIST, because this is a case that can occur
naturally if multiple objecter/librados clients are instantiated
within the same process.
Signed-off-by: John Spray <john.spray@inktank.com>
Commit 8c5c55c8b4 ("mon: set next commit in mon command replies")
fixed MMonCommand replies to include the right version, but the
primary-affinity handler was authored before that. Fix it.
Backport: firefly
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
* Moved filestore settings above [osd.*] declarations otherwise
(if uncommented) those settings might be applied only to last
OSD which is not very obvious.
* Few options added.
Fix RPM building instructions: this has been broken since
libs3 was included inline in the ceph repo as a submodule.
"rpmbuild -tb" was concatenating the ceph.spec and
libs3.spec files, resulting in something that didn't work.
Also, the instructions suggested downloading a .tar.gz file
whereas the specfile requires a .tar.bz2 file.
Also, add a convenient yum command line for getting the compile
dependencies on Fedora 20.
Signed-off-by: John Spray <john.spray@inktank.com>