The OSD has a plugin mechanism for performing complicated
operations on an object atomically. These plugins are called
classes. This function allows librados users to call the custom
methods. The input and output formats are defined by the class.
Classes in ceph.git can be found in src/cls subdirectories
@param io the context in which to call the method
@param oid the object to call the method on
@param cls the name of the class
@param method the name of the method
@param in_buf where to find input
@param in_len length of in_buf in bytes
@param buf where to store output
@param out_len length of buf in bytes
@returns the length of the output, or
-ERANGE if out_buf does not have enough space to store it (For methods that return data). For
methods that don't return data, the return value is
method-specific.
Execute an OSD class method on an object
The OSD has a plugin mechanism for performing complicated operations on an object atomically. These plugins are called classes. This function allows librados users to call the custom methods. The input and output formats are defined by the class. Classes in ceph.git can be found in src/cls subdirectories
@param io the context in which to call the method @param oid the object to call the method on @param cls the name of the class @param method the name of the method @param in_buf where to find input @param in_len length of in_buf in bytes @param buf where to store output @param out_len length of buf in bytes @returns the length of the output, or -ERANGE if out_buf does not have enough space to store it (For methods that return data). For methods that don't return data, the return value is method-specific.