| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
|
|
| |
Fixes: https://tracker.ceph.com/issues/57152
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
* add "std::" prefix in headers
* add "using" declarations in .cc files.
so we don't rely on "using namespace std" in one or more included
headers.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
| |
Instead of debug_client (which is primarily used by ceph-fuse).
Fixes: https://tracker.ceph.com/issues/50307
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
|
|
| |
So the "aios" (better named) vector doesn't grow infinitely.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
This was developed because the two other striper implementations were
unsuitable for libcephsqlite:
- libradosstriper: while the async APIs exist, its current protocol
requires synchronously locking an object for every write/read whether
that operation is async or not. For this reason, it's too far too slow
for latency sensitive applications.
- osdc/Filer: this requires the object name to be an inode number. It
also comes with other overhead burden which is not necessary for
libcephsqlite including caching/buffering.
SimpleRADOSStriper aims to be a minimalistic heavily asynchronous
striper. One way it achieves this is through the use of exclusive locks
to protect access to the striped objects. Most metadata updates are
deferred until the striped file is unlocked, flushed, (or closed). All
reads/writes are asynchronous (but a read implicitly gathers async
striped reads for each op). Writes are not buffered. Reads are not
cached. There is no readahead.
SimpleRADOSStriper aims to be compatible with the rados binary --striper
option for extracting files out of RADOS but it should not be used
otherwise.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|