summaryrefslogtreecommitdiffstats
path: root/src/SimpleRADOSStriper.cc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* SimpleRADOSStriper: increase debugging level for critical errorsPatrick Donnelly2023-06-271-7/+7
| | | | Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* SimpleRADOSStriper: Avoid moving bufferlists by using dequeMatan Breizman2022-09-011-1/+4
| | | | | | Fixes: https://tracker.ceph.com/issues/57152 Signed-off-by: Matan Breizman <mbreizma@redhat.com>
* libcephsqlite: build without "using namespace std"Kefu Chai2021-08-131-3/+3
| | | | | | | | | | * 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>
* SimpleRADOSStriper: use debug_cephsqlitePatrick Donnelly2021-04-131-1/+1
| | | | | | | 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>
* SimpleRADOSStriper: wait for finished aios after writePatrick Donnelly2021-03-191-14/+28
| | | | | | So the "aios" (better named) vector doesn't grow infinitely. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* SimpleRADOSStriper: add new minimal async striperPatrick Donnelly2021-03-191-0/+758
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>