atomic_t: add atomic64_t

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
common/perf_counters: use atomics instead of a mutex

The mutex is way too expensive.

Signed-off-by: Sage Weil <sage@inktank.com>
mon: remember osd weight when auto-marking osds out

If we automatically mark an OSD out, remember its OSD weight.

Signed-off-by: Sage Weil <sage@inktank.com>
mon: restore previous weight when auto-marked out osd boots

When an OSD that was marked out boots, restore the weight it had before.

Signed-off-by: Sage Weil <sage@inktank.com>
common/perf_counters: use second atomic to make counters safe to read

Add a second counter so that we can detect a race with an add/inc during
read, and retry.

Signed-off-by: Sage Weil <sage@inktank.com>
Fix set_alloc_hint op cause KeyValueStore crash problem

Now KeyValueStore doesn't support set_alloc_hit op, the implementation of
_do_transaction need to consider decoding the arguments. Otherwise, the
arguments will be regarded as the next op.

Fix the same problem for MemStore.

Fix #8381

Reported-by: Xinxin Shu <xinxin.shu5040@gmail.com>
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
README: clean up some whitespace

Remove $ prefix, use tab consistently.

Signed-off-by: Sage Weil <sage@inktank.com>
README: move package dependencies into separate files

Sorted, with a short, simple command to paste.  Avoid the duplication of
the lists.

Signed-off-by: Sage Weil <sage@inktank.com>
Update architecture.rst:Calculating PG IDs

To Calculate PG ID, if I didn't get it wrong, CRUSH calculates the hash modulo 
the number of PGs instead of OSDs, according to osd/osd_types.cc:963 
ceph_stable_mod(pg.ps(), pg_num, pg_num_mask).

Signed-off-by: Kai Zhang <zakir.exe@gmail.com>
documentation: adapt PG formula for erasure coded pools

Signed-off-by: Loic Dachary <loic@dachary.org>
os/FileStore: fix journal-less operation

A few different fixes here:

- make the op_seq correct on start when there is no replay
- make an explicit 'no journal' case in queue_transaction (one that
  actually works).  Note that the 'trailing journal' mode is probably
  still broken.
- add a -J flag to vstart.sh for journalless operation

Signed-off-by: Sage Weil <sage@inktank.com>
os/FileStore: refactor backend instantiation

Use a factory method for creating the backend so that the logic is not
duplicated in mkfs() and _detect_fs().  Make the other fs-dependent logic
(xattr limits) key off of the fs_type magic.

Signed-off-by: Sage Weil <sage@inktank.com>
os/FileStore: include filestore backend, f_type in osd metadata

Report the FileStore backend and underlying fs type as part of the osd
metadata shared with the monitor.

Signed-off-by: Sage Weil <sage@inktank.com>
Improvements to radosgw docs
- Correct a typo (`rados-admin`) in admin docs
- Reorder sections in config so "above example" is in expected position
documentation: update pid file description

The pid file behavior changed over time and the description is misleading.

http://tracker.ceph.com/issues/8324 Fixes: #8324

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: fix set cache_target_full_ratio

It was a noop because it was incorrectly using the variable n. Add a
test to protect against regression.

http://tracker.ceph.com/issues/8440 Fixes: #8440

Reported-by: Geoffrey Hartz <hartz.geoffrey@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
better error reporting on incompatible device requirements

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
Fix Documentation Typo

Signed-off-by: Adam Twardowski <adam.twardowski@gmail.com>
Merge pull request #1876 from atwardowski/patch-4

Fix Documentation Typo

Reviewed-by: Loic Dachary <loic@dachary.org>
Merge pull request #1873 from dachary/wip-8440

mon: fix set cache_target_full_ratio

Reviewed-by: Samuel Just <sam.just@inktank.com>