// write supers
super.log_fnode = log_file->fnode;
_write_super();
- _flush_bdev();
+ flush_bdev();
// clean up
super = bluefs_super_t();
super.log_fnode = log_file->fnode;
++super.version;
_write_super();
- _flush_bdev();
+ flush_bdev();
dout(10) << __func__ << " release old log extents " << old_extents << dendl;
for (auto& r : old_extents) {
log_t.clear();
log_t.seq = 0; // just so debug output is less confusing
- _flush_bdev();
+ flush_bdev();
int r = _flush(log_writer, true);
assert(r == 0);
wait_for_aio(log_writer);
- _flush_bdev();
+ flush_bdev();
// clean dirty files
dout(20) << __func__ << " log_seq_stable " << seq << dendl;
}
}
-void BlueFS::_flush_bdev()
+void BlueFS::flush_bdev()
{
+ // NOTE: this is safe to call without a lock.
dout(20) << __func__ << dendl;
for (auto p : bdev) {
if (p)
//void _aio_finish(void *priv);
- void _flush_bdev();
+ void flush_bdev(); // this is safe to call without a lock
int _preallocate(FileRef f, uint64_t off, uint64_t len);
int _truncate(FileWriter *h, uint64_t off);