doc: Updated terminology. Added librados intro to index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added librados introduction doc. Still wip.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Modified doc examples to use rados_create2.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added python example of handle, and closing session examples.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
updated "sample.ceph.conf":

I've made the following changes to simplify initial cluster configuration:

 * Removed deprecated option(s).
 * Removed overrides for default paths that are "not recommended to change".
 * Added comments with keys' descriptions, types and defaults.
 * Added references to relevant on-line docs;
   sorted keys according to their respective docs sections (pages).
 * Use different types of comments for annotations ('#')
   and for keys/values (';').
 * Added many useful keys.
 * Commented some lines to make sample config "neutral". The idea is to
   let users to un-comment what they need rather than remove sample sections
   that they surely won't be using as is.

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
ceph: Add inline data feature

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
ceph: Add inline state definition

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
mds: Add inline fields to inode_t

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
mds: Add inline encode/decode to inode_t

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
client: ceph-fuse use fuse_session_loop_mt to allow multithreaded operation if "fuse multithreaded = 1".
Signed-off-by: Moritz Moeller mm@mxs.de
rgw: don't return -ENOENT in put_obj_meta()

Fixes: #7168

An object put may race with the same object's delete. In this case just
ignore the error, same behavior as if object was created and then
removed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: handle racing object puts when object doesn't exist

If the object didn't exist before and now we have multiple puts coming
in concurrently, we need to make sure that we behave correctly. Only one
needs to win, the other one can fail silently. We do that by setting
exclusive flag on the object creation and handling the error correctly.
Note that we still want to return -EEXIST in some cases (when the
exclusive flag is passed to put_obj_meta(), e.g., on bucket creation).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Remove some almost-duplicate COMMAND definitions

These seem to have been added twice in 8985e1c9e and
then in 7b42deef3.  The second version looks more
correct.

Signed-off-by: John Spray <john.spray@inktank.com>
Monitor: use a single static accessor for getting CompatSet features off disk

This way we don't need to maintain two working code paths.

Signed-off-by: Greg Farnum <greg@inktank.com>
Fix 404 broken links to logging and debug configuration

Signed-off-by: David Moreau Simard <dmsimard@iweb.com>
rgw: new user objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: replace user bucket listing with objclass call

instead of directly accessing the omap operation

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: move bucket add / remove to new user objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls/user: accounting functionality

Keep user total accounting in omap header, handle add/dec functionality.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls/user: a new op to retrieve user header

user header holds user total stats

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>