doc: Change listed RBD cache defaults to actual defaults

Signed-off-by: Adam Crume <adamcrume@gmail.com>
osdc: Fix ObjectCounter::_readx perf counters

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

Signed-off-by: Adam Crume <adamcrume@gmail.com>
client: Replace client readahead logic with Readahead

Signed-off-by: Adam Crume <adamcrume@gmail.com>
Clock: Using clock_gettime instead of gettimeofday in linux os.

The precision of utime_t is nsec. In func ceph_clock_now, it use
gettimeofday to set utime_t. But the precision of gettimeofday is
microseconds. In linux, the precision of clock_gettime is nsec.
So using clock_gettime install gettimeofday in order to get higer
precision.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
os/FileStore: using FIEMAP_FLAGS_SYNC instead of fsync() before call
fiemap.

When call fiemap, it need sync the file. Now it used fsync() to achieve
this. But for fiemap, there is a flag FIEMAP_FLAGS_SYNC which do the
same thing like fsync().

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
os/FileStore: do not loop in sync_entry on shutdown

Normally we repeat a sync if the journal is full and asks for it or if we
have pending sync waiters.  This isn't for correctness: it's to move things
along quickly.

If we are shutting down *and* the journal is full, however, we currently
can get stuck in a loop where we repeatedly sync.  However, the journal
never gets unfull because we aren't expiring anything.

We tried to fix this in 682b9daacb1960eb60b5f0e9b40d4a3a3e9afd5b but that
didn't work because we don't tell the journal to stop before we shut down
the filestore sync thread.

I'm pretty sure there is another issue in the journal code as

 full_state == FULL_FULL
 submit_manager.op_seq = 14761
 apply_manager.committing_seq = 14761
 apply_manager.committed_seq = 14761

which seems odd.  But I have no longs.  Meanwhile, this fixes the hang.

Fixes: #9545
Signed-off-by: Sage Weil <sage@redhat.com>
Fix read performance regression in ObjectCacher

The regression was introduced in commit
4fc9fffc494abedac0a9b1ce44706343f18466f1.  The problem is that the cache
thinks it's full (when it's not), so it defers the read.  This change
frees up cache space if necessary and only defers the read if enough
space cannot be freed.

Fixes: 9513
Signed-off-by: Adam Crume <adamcrume@gmail.com>
Add AsyncMessenger support

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Remove DispatchQueue in AsyncMessenger

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

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add TimeEvent to Event API

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add STANDBY state process

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Fix Time Event problem

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add EventCenter stop function

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Replace AsyncConnection* with AsyncconnectionRef

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add support for mon library

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add wake up to EventCenter

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Use shared_ptr for EventCallback

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Reconnect when socket is shutdown

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