<< err.what() << dendl;
throw;
} catch (const sys::system_error& e) {
- if (e.code() == sys::errc::no_such_file_or_directory) {
- co_return std::make_tuple(entries.first(0), std::string{});
+ if (e.code() == sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
+ co_return std::make_tuple(entries.first(0), std::string{});
} else {
- ldpp_dout(dpp, -1) << __PRETTY_FUNCTION__
- << ": failed to list " << oids[shard]
- << ": " << e.what() << dendl;
- throw;
+ ldpp_dout(dpp, -1) << __PRETTY_FUNCTION__
+ << ": failed to list " << oids[shard]
+ << ": " << e.what() << dendl;
+ throw;
}
}
}
co_return RGWDataChangesLogInfo{.marker = header.max_marker,
.last_update = header.max_time};
} catch (const sys::system_error& e) {
- if (e.code() == sys::errc::no_such_file_or_directory) {
+ if (e.code() == sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
co_return RGWDataChangesLogInfo{};
}
ldpp_dout(dpp, -1) << __PRETTY_FUNCTION__
asio::use_awaitable);
co_return;
} catch (const sys::system_error& e) {
- if (e.code() == sys::errc::no_such_file_or_directory) {
+ if (e.code() == sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
co_return;
} else {
ldpp_dout(dpp, -1) << __PRETTY_FUNCTION__
co_return false;
}
} catch (const sys::system_error& e) {
- if (e.code() == sys::errc::no_such_file_or_directory) {
+ if (e.code() == sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
continue;
}
}
&out, &cursor)),
nullptr, asio::use_awaitable);
} catch (const sys::system_error& e) {
- if (e.code() != sys::errc::no_such_file_or_directory) {
+ if (e.code() != sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
throw;
}
}
mkeep = marker;
}
} catch (const sys::system_error& e) {
- if (e.code() == sys::errc::no_such_file_or_directory) {
+ if (e.code() == sys::errc::no_such_file_or_directory ||
+ e.code() == ceph::buffer::errc::end_of_buffer) {
if (!req_shard) {
begin_next = true;
++shard;