os/FileJournal: stop aio completion thread *after* writer thread

The writer thread may submit a new aio to update the header in its
final moments before shutting down.  Do not stop the aio thread until after
that has happened or else we may not wait for those aio completions.

Signed-off-by: Sage Weil <sage@redhat.com>
Revert "os/FileJournal: For journal-aio-mode, don't use aio when closing journal."

This reverts commit e870fd09ce846e5642db268c33bbe8e2e17ffef2.

The aio completion thread will now wait for the final header update aio to
finish; this workaround is no longer necessary.

Signed-off-by: Sage Weil <sage@redhat.com>
mon: add 'osd pool ls [detail]' command

This is much friendlier than

 ceph osd dump | grep ^pool

Signed-off-by: Sage Weil <sage@redhat.com>
msg: prefetch data when doing recv()

Since that when we're reading the header we do lot's of small IOs, we
can really benefit from doing bigger reads.
Set a limit on the buffer size, so that it should mainly affect header
reads and not the actual data transfer of large IOs.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rbd-replay: Add --anonymize flag to rbd-replay-prep

Signed-off-by: Adam Crume <adamcrume@gmail.com>
librbd: Add missing tracepoints

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add rbd-replay-many

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add --dump-perf-counters option

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add code documentation

Signed-off-by: Adam Crume <adamcrume@gmail.com>
doc: Deleted redundant text string.

Signed-off-by: John Wilkins <jowilki@redhat.com>
doc: Added clarifications and added additional preflight steps for CentOS/RHEL.

Fixes: #8995

Signed-off-by: John Wilkins <jowilki@redhat.com>
documentation: erasure code profile update

The plugins are made a sub-section of the erasure code profile
section. The k and m parameters are removed from erasure code profile
documentation. They were added for simplicity in the first version
because there was only one plugin. But they should really be in the
plugin documentation.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
documentation: isa plugin is sub section of erasure code profile

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
documentation: jerasure plugin is sub section of erasure code profile

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
doc: Added feedback.

Signed-off-by: John Wilkins <jowilki@redhat.com>
Merge pull request #2482 from dachary/wip-erasure-code-documentation

erasure code documentation

Reviewed-by: Sage Weil <sage@redhat.com>
mds: set new inode's xattr version to 1

set new inode's xattr version to 1 even if it has no xattr. This allow
client to differentiate no xattr in inode from MDS skips sending xattr
to client (because MDS think client already has uptodate xattr).

Signed-off-by: Yan, Zheng <zyan@redhat.com>
KeyValueStore: Reduce redundancy set_header call

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
doc: Add keyvaluestore config description

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
KeyValueStore: Reduce redundant "make_pair"

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>