summaryrefslogtreecommitdiffstats
path: root/src/journal (follow)
Commit message (Collapse)AuthorAgeFilesLines
* common: add override in header fileliuchang08122017-03-0311-48/+48
| | | | Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
* common: add override for common submodule and miscliuchang08122017-02-164-19/+19
| | | | | | Fixes: http://tracker.ceph.com/issues/18922 Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
* journal: stop processing removal after errorJason Dillaman2017-01-301-0/+2
| | | | | Fixed: http://tracker.ceph.com/issues/18738 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: don't hold future lock during assignmentJason Dillaman2017-01-212-2/+8
| | | | | | | | | It's possible that the future raced with its owner and reaches an empty reference count. This was resulting in the future being destructed while its lock was still held. Fixes: http://tracker.ceph.com/issues/18618 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* src/journal/JournalTrimmer.h : fix typosXianxia Xiao2016-12-301-4/+4
| | | | Signed-off-by: Xianxia Xiao <xianxia.xiao@kylin-cloud.com>
* journal: prevent repetitive error messages after being blacklistedJason Dillaman2016-12-151-1/+3
| | | | | Fixes: http://tracker.ceph.com/issues/18243 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: avoid logging an error when a watch is blacklistedJason Dillaman2016-12-131-0/+2
| | | | | Fixes: http://tracker.ceph.com/issues/18243 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: do not prematurely flag object recorder as closedJason Dillaman2016-10-171-1/+1
| | | | | Fixes: http://tracker.ceph.com/issues/17590 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: clean up object recorder closed/overflow callbackJason Dillaman2016-10-052-21/+27
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: delay moving overflowed buffers until quiescedJason Dillaman2016-10-052-4/+3
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: use reverse iterator search to find flush recordJason Dillaman2016-10-051-3/+7
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: avoid holding lock while sending journal appendJason Dillaman2016-10-053-21/+38
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: ensure in-flight ops are complete destroying journalerMykola Golub2016-10-014-0/+15
| | | | | Fixes: http://tracker.ceph.com/issues/17446 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: complete action only after notification completedMykola Golub2016-10-012-6/+11
| | | | Signed-off-by: Mykola Golub <mgolub@mirantis.com>
* Merge pull request #11185 from dillaman/wip-17355Mykola Golub2016-09-286-106/+3
|\ | | | | | | | | rbd-mirror: quiesce in-flight event commits before shut down Reviewed-by: Mykola Golub <mgolub@mirantis.com>
| * common: move AsyncOpTracker to common libraryJason Dillaman2016-09-256-106/+3
| | | | | | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* | journal: make librados call async in ObjectRecorderRicardo Dias2016-09-265-66/+95
| | | | | | | | Signed-off-by: Ricardo Dias <rdias@suse.com>
* | journal: increase concurrency of journal recorderRicardo Dias2016-09-264-38/+91
|/ | | | Signed-off-by: Ricardo Dias <rdias@suse.com>
* journal: send update notification when tag allocatedJason Dillaman2016-09-231-0/+1
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: expose ability to retrieve partial tag listJason Dillaman2016-09-234-8/+19
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* remove autotoolsSage Weil2016-09-071-39/+0
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* Merge pull request #10378 from trociny/wip-14738Jason Dillaman2016-09-074-3/+70
|\ | | | | | | | | librbd: optionally unregister "laggy" journal clients Reviewed-by: Jason Dillaman <dillaman@redhat.com>
| * journal: allow to trim journal for "laggy" clientsMykola Golub2016-09-054-3/+70
| | | | | | | | Signed-off-by: Mykola Golub <mgolub@mirantis.com>
* | journal/JournalTrimmer: move C_RemoveSet structMichal Jarzabek2016-08-292-15/+18
|/ | | | Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
* journaler: remove ununsed synchronous API routinesVenky Shankar2016-08-074-87/+0
| | | | | | | | Synchronous callers now call the asynchronous version wrapped around C_SaferCond. Also take care of mocked methods. Fixes: http://tracker.ceph.com/issues/15321 Signed-off-by: Venky Shankar <vshankar@redhat.com>
* journaler: async journal object creationVenky Shankar2016-08-072-0/+27
| | | | | | | | Introduce asynchronous journal object creation. This is a prerequisite for asynchronous creation of rbd image journals. Signed-off-by: Venky Shankar <vshankar@redhat.com>
* journaler: implement asynchronous remove()Venky Shankar2016-08-072-0/+18
| | | | Signed-off-by: Venky Shankar <vshankar@redhat.com>
* journaler: implement asynchronous exists()Venky Shankar2016-08-072-0/+12
| | | | Signed-off-by: Venky Shankar <vshankar@redhat.com>
* journaler: asynchronous JournalTrimmer::remove_objects()Venky Shankar2016-08-072-0/+32
| | | | | | Asynchronous removal of journal objects for a given rbd image. Signed-off-by: Venky Shankar <vshankar@redhat.com>
* Merge pull request #10341 from dillaman/wip-16223Mykola Golub2016-07-3016-217/+354
|\ | | | | | | | | rbd-mirror: reduce memory footprint during journal replay Reviewed-by: Mykola Golub <mgolub@mirantis.com>
| * journal: optimize speed of live replay journal pruningJason Dillaman2016-07-213-13/+35
| | | | | | | | | | | | | | When streaming playback, avoid the unnecessary watch delay when one or more entries have been pruned. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: possible deadlock during flush of journal entriesJason Dillaman2016-07-212-14/+33
| | | | | | | | | | | | | | | | If a future flush is requested at the exact same moment that an overflow is detected, the two threads will deadlock since locks are not taken in a consistent order. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: improve debug log messagesJason Dillaman2016-07-218-8/+8
| | | | | | | | | | | | | | | | rbd-mirror debugging involved potentially thousands of journals concurrently running. The instance address will correlate log messages between journals. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: support streaming entry playbackJason Dillaman2016-07-214-81/+116
| | | | | | | | | | | | | | | | Now that it's possible for the ObjectPlayer to only read a partial subset of available entries, the JournalPlayer needs to detect that more entries might be available. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: replay should only read from a single object setJason Dillaman2016-07-212-65/+27
| | | | | | | | | | | | | | Previously it was prefetching up to 2 object sets worth of journal data objects which consumed too much memory. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: optionally restrict maximum entry payload sizeJason Dillaman2016-07-212-1/+8
| | | | | | | | | | | | | | | | | | Journal playback will need to read at least a full entry which was currently limited to the maximum object size. In memory constrained environment, this new optional limit will set a fix upper bound on memory usage. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: optionally fetch entries in small chunks during replayJason Dillaman2016-07-215-32/+102
| | | | | | | | | | | | | | Support fetching the full object or incremental chunks (with a minimum of at least a single decoded entry if available). Signed-off-by: Jason Dillaman <dillaman@redhat.com>
| * journal: helper class for organizing optional settingsJason Dillaman2016-07-216-15/+37
| | | | | | | | | | | | | | Additional runtime configuration settings will be needed. The new class will avoid the need to expand the constructor. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* | cmake: exclude private symbols in librbdKefu Chai2016-07-291-0/+1
|/ | | | | | | | | missed it in 0edfad0. * librbd: pass '--exclude-libs,ALL' to linker * rbd: link against used libraries explicitly, rbd is accessing some internal symbols not exposed by librbd. Signed-off-by: Kefu Chai <kchai@redhat.com>
* cmake: restructure src/CMakeLists.txt in a more hierarchical wayKefu Chai2016-07-191-0/+14
| | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
* Merge pull request #9207 from rjfd/wip-15670Jason Dillaman2016-06-238-12/+51
|\ | | | | | | | | rbd-mirror: image resync Reviewed-by: Jason Dillaman <dillaman@redhat.com>
| * journal: Support for registering metadata listeners in the JournalerRicardo Dias2016-06-148-12/+51
| | | | | | | | Signed-off-by: Ricardo Dias <rdias@suse.com>
* | journal: do not log watch errors against deleted journalJason Dillaman2016-06-161-4/+13
|/ | | | | | | | The peer rbd-mirror process will eventually notice that the journal has been removed and clean itself up. This avoids flooding the log with expected error messages when journaling is disabled. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: extend asynchronous shutdown to facadeJason Dillaman2016-05-252-31/+53
| | | | | Fixes: http://tracker.ceph.com/issues/14530 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: trimmer now has asynchronous shutdownJason Dillaman2016-05-253-3/+30
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: metadata init and shutdown now asynchronousJason Dillaman2016-05-253-31/+67
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: player shutdown is now handled asynchronouslyJason Dillaman2016-05-258-61/+144
| | | | | Fixes: http://tracker.ceph.com/issues/15949 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: eliminate watch delay for object refetchesJason Dillaman2016-05-241-1/+5
| | | | | | | | | The randomized write sizes of the modified rbd-mirror stress test results in a lot of journal object with few entries. Immediately fetch objects when performing a refetch check prior to closing an empty object. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: keep active tag to assist with pruning watched objectsJason Dillaman2016-05-242-101/+117
| | | | | | | | It's possible that there might be additional entries to prune in objects that haven't been prefetched yet. Keep the active tag to allow these entries to be pruned after they have been loaded. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* journal: update commit entry object number upon overflowJason Dillaman2016-05-243-0/+39
| | | | | | | Otherwise the recorded object positions might point to an older object that doesn't contain the actual entry. Signed-off-by: Jason Dillaman <dillaman@redhat.com>