MCPcopy Create free account
hub / github.com/ceph/ceph / _flush

Method _flush

src/client/Client.cc:4653–4673  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4651}
4652
4653bool Client::_flush(Inode *in, Context *onfinish)
4654{
4655 ldout(cct, 10) << "_flush " << *in << dendl;
4656
4657 if (!in->oset.dirty_or_tx) {
4658 ldout(cct, 10) << " nothing to flush" << dendl;
4659 onfinish->complete(0);
4660 return true;
4661 }
4662
4663 if (objecter->osdmap_pool_full(in->layout.pool_id)) {
4664 ldout(cct, 8) << __func__ << ": FULL, purging for ENOSPC" << dendl;
4665 objectcacher->purge_set(&in->oset);
4666 if (onfinish) {
4667 onfinish->complete(-ENOSPC);
4668 }
4669 return true;
4670 }
4671
4672 return objectcacher->flush_set(&in->oset, onfinish);
4673}
4674
4675void Client::_flush_range(Inode *in, int64_t offset, uint64_t size)
4676{

Callers 1

advanceMethod · 0.45

Calls 7

cpp_strerrorFunction · 0.85
osdmap_pool_fullMethod · 0.80
purge_setMethod · 0.80
flush_setMethod · 0.80
take_async_errMethod · 0.80
completeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected