flush_set_callback(flush_set_callback_arg, oset);
}
-
-void ObjectCacher::kick_sync_writers(ObjectSet *oset)
-{
- if (oset->objects.empty()) {
- ldout(cct, 10) << "kick_sync_writers on " << oset << " dne" << dendl;
- return;
- }
-
- ldout(cct, 10) << "kick_sync_writers on " << oset << dendl;
-
- list<Context*> ls;
-
- for (xlist<Object*>::iterator i = oset->objects.begin();
- !i.end(); ++i) {
- Object *ob = *i;
-
- ls.splice(ls.begin(), ob->waitfor_wr);
- }
-
- finish_contexts(cct, ls);
-}
-
-void ObjectCacher::kick_sync_readers(ObjectSet *oset)
-{
- if (oset->objects.empty()) {
- ldout(cct, 10) << "kick_sync_readers on " << oset << " dne" << dendl;
- return;
- }
-
- ldout(cct, 10) << "kick_sync_readers on " << oset << dendl;
-
- list<Context*> ls;
-
- for (xlist<Object*>::iterator i = oset->objects.begin();
- !i.end(); ++i) {
- Object *ob = *i;
-
- ls.splice(ls.begin(), ob->waitfor_rd);
- }
-
- finish_contexts(cct, ls);
-}
-
-
-
void ObjectCacher::verify_stats() const
{
ldout(cct, 10) << "verify_stats" << dendl;
void flush_all(Context *onfinish=0);
bool commit_set(ObjectSet *oset, Context *oncommit);
- void commit_all(Context *oncommit=0);
void purge_set(ObjectSet *oset);
void truncate_set(ObjectSet *oset, vector<ObjectExtent>& ex);
- void kick_sync_writers(ObjectSet *oset);
- void kick_sync_readers(ObjectSet *oset);
-
-
// file functions
/*** async+caching (non-blocking) file interface ***/