Provided by: ceph-common_0.80.11-0ubuntu1.14.04.4_amd64 bug

NAME

       ceph-dencoder - ceph encoder/decoder utility

SYNOPSIS

       ceph-dencoder [commands...]

DESCRIPTION

       ceph-dencoder  is  a utility to encode, decode, and dump ceph data structures.  It is used
       for debugging and for testing inter-version compatibility.

       ceph-dencoder takes a simple list of commands and performs them in order.

COMMANDS

       version
              Print the version string for the ceph-dencoder binary.

       import <file>
              Read a binary blob of encoded data from the given file.  It will be  placed  in  an
              in-memory buffer.

       export <file>
              Write the contents of the current in-memory buffer to the given file.

       list_types
              List the data types known to this build of ceph-dencoder.

       type <name>
              Select the given type for future encode or decode operations.

       decode Decode  the  contents  of  the  in-memory buffer into an instance of the previously
              selected type.  If there is an error, report it.

       encode Encode the contents of the in-memory instance of the previously  selected  type  to
              the in-memory buffer.

       dump_json
              Print a JSON-formatted description of the in-memory object.

       count_tests
              Print  the  number  of  built-in test instances of the previosly selected type that
              ceph-dencoder is able to generate.

       select_test <n>
              Select the given build-in test instance as a the in-memory instance of the type.

       get_features
              Print  the  decimal  value  of  the  feature  set  supported  by  this  version  of
              ceph-dencoder.   Each bit represents a feature.  These correspond to CEPH_FEATURE_*
              defines in src/include/ceph_features.h.

       set_features <f>
              Set the feature bits provided to encode to f.  This allows you  to  encode  objects
              such  that  they can be understood by old versions of the software (for those types
              that support it).

EXAMPLE

       Say you want to examine an attribute on an object stored by ceph-osd.  You can do:

          $ cd /mnt/osd.12/current/2.b_head
          $ attr -l foo_bar_head_EFE6384B
          Attribute "ceph.snapset" has a 31 byte value for foo_bar_head_EFE6384B
          Attribute "ceph._" has a 195 byte value for foo_bar_head_EFE6384B
          $ attr foo_bar_head_EFE6384B -g ceph._ -q > /tmp/a
          $ ceph-dencoder type object_info_t import /tmp/a decode dump_json
          { "oid": { "oid": "foo",
                "key": "bar",
                "snapid": -2,
                "hash": 4024842315,
                "max": 0},
            "locator": { "pool": 2,
                "preferred": -1,
                "key": "bar"},
            "category": "",
            "version": "9'1",
            "prior_version": "0'0",
            "last_reqid": "client.4116.0:1",
            "size": 1681,
            "mtime": "2012-02-21 08:58:23.666639",
            "lost": 0,
            "wrlock_by": "unknown.0.0:0",
            "snaps": [],
            "truncate_seq": 0,
            "truncate_size": 0,
            "watchers": {}}

AVAILABILITY

       ceph-dencoder is part of the Ceph distributed storage system. Please  refer  to  the  Ceph
       documentation at http://ceph.com/docs for more information.

SEE ALSO

       ceph(8)

COPYRIGHT

       2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons BY-SA