* refs/pull/69195/head:
SimpleRADOSStriper: retrieve AIO return values with get_return_value()
offset += ext.len;
}
+ int aio_rc = 0;
for (auto& aiocp : removes) {
- if (int rc = aiocp->wait_for_complete(); rc < 0 && rc != -ENOENT) {
+ aiocp->wait_for_complete();
+ if (int rc = aiocp->get_return_value(); rc < 0 && rc != -ENOENT) {
d(1) << " aio_remove failed: " << cpp_strerror(rc) << dendl;
- return rc;
+ if (aio_rc == 0) aio_rc = rc;
}
}
+ if (aio_rc != 0) {
+ return aio_rc;
+ }
auto ext = get_first_extent();
auto op = librados::ObjectWriteOperation();