osdc/Objecter: flag ops that have been redirected

In the future it may be helpful to know whether an op has been redirected
by the OSD.

We don't need it bad enough now to spend a feature bit to know whether this
flag is reliably set.

Signed-off-by: Sage Weil <sage@inktank.com>
Make KeyValueStore support "ceph osd perf" command

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Fix keyvaluestore fiemap bug

The result of fiemap is wrong and the offset get from
"StripObjectMap::file_to_extents" need to multiply by sequence number

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
os: rename get_*() -> decode_*()

These methods have side-effects: they move the decode iterator *and*
return a value.  Rename them to avoid confusion with typical get_*
accessors.

Signed-off-by: Sage Weil <sage@inktank.com>
Extracted RadosXattrIter from librados.cc into independent .h anc .cc files.
This makes this interface usable by clients of librados.

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
Fixed missing include of assert.h in RWLock interface

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
Fixed usage of rhel_version in spec file : it should have been rhel

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
Added const qualifiers for the layout argument of file_to_extents and object_truncate_size

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
Completed librados documentation of rados_write_op_cmpxattr and rados_read_op_cmpxattr concerning their error reporting

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
Added a striper interface on top of rados called radosstriper.

This interface allows to manipulate striped objects stored in a rados cluster with a standard open/read/write/stat/close/remove API.
Asynchronous APIs are also provided for data transfers and both C and C++ APIs are present.

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
doc: Use write_full for C++ example
Latest version of librados uses write_full when writing entire object.

Should the documentation mention that the method "write" used to serve
this function.

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
doc: Descrption => Description
Correct spelling error.

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
Merge pull request #1928 from nereocystis/pool-pg-fix-spelling

doc: Descrption => Description

Reviewed-by: Loic Dachary <loic@dachary.org>
XfsFileStoreBackend: nuke redundant goto in set_extsize()

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
XfsFileStoreBackend: call ioctl(XFS_IOC_FSSETXATTR) less often

No need to call ioctl(XFS_IOC_FSSETXATTR) if extsize is already set to
the value we want or if any extents are allocated - XFS will refuse to
change extsize in that's the case.

Fixes: #8241
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Merge pull request #1922 from ceph/wip-os-rename

os: rename get_*() -> decode_*()

Reviewed-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com>
Merge pull request #1930 from ceph/wip-set-extsize-fix

Wip set extsize fix

Backport: firefly
Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1891 from ceph/wip-8380-b

osdc/Objecter: flag ops that have been redirected
osdc/Objecter: mark all ops as known-if-redirected

Signed-off-by: Greg Farnum <greg@inktank.com>
Merge pull request #1935 from ceph/wip-flag-known-redirs

osdc/Objecter: mark all ops as known-if-redirected

Reviewed-by: Sage Weil <sage@inktank.com>