io_event::res was assigned to io_t::rval, but io_event::res
is long, if rval is int, this will cause overflow.
Fixes: http://tracker.ceph.com/issues/23527
Signed-off-by: kungf <yang.wang@easystack.cn>
// later flush() occurs.
io_since_flush.store(true);
- int r = aio[i]->get_return_value();
+ long r = aio[i]->get_return_value();
if (r < 0) {
derr << __func__ << " got " << cpp_strerror(r) << dendl;
if (ioc->allow_eio && r == -EIO) {
int fd;
boost::container::small_vector<iovec,4> iov;
uint64_t offset, length;
- int rval;
+ long rval;
bufferlist bl; ///< write payload (so that it remains stable for duration)
boost::intrusive::list_member_hook<> queue_item;
bl.append(std::move(p));
}
- int get_return_value() {
+ long get_return_value() {
return rval;
}
};