off64_t pos = write_pos;
// Adjust write_pos
- check_align(pos, bl);
write_pos += bl.length();
if (write_pos >= header.max_size)
write_pos = write_pos - header.max_size + get_top();
if (write_bl(pos, second)) {
derr << "FileJournal::do_write: write_bl(pos=" << orig_pos
<< ") failed" << dendl;
+ check_align(pos, second);
ceph_abort();
}
orig_pos = first_pos;
if (write_bl(first_pos, first)) {
derr << "FileJournal::do_write: write_bl(pos=" << orig_pos
<< ") failed" << dendl;
+ check_align(first_pos, first);
ceph_abort();
}
assert(first_pos == get_top());
if (write_bl(pos, bl)) {
derr << "FileJournal::do_write: write_bl(pos=" << pos
<< ") failed" << dendl;
+ check_align(pos, bl);
ceph_abort();
}
}
*/
int FileJournal::write_aio_bl(off64_t& pos, bufferlist& bl, uint64_t seq)
{
- check_align(pos, bl);
-
dout(20) << "write_aio_bl " << pos << "~" << bl.length() << " seq " << seq << dendl;
while (bl.length() > 0) {
usleep(500);
continue;
}
+ check_align(pos, tbl);
assert(0 == "io_submit got unexpected error");
} else {
break;