mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
librados: fix end_block calculation for aio_read
This commit is contained in:
parent
30c47566d1
commit
5da066286c
@ -1251,7 +1251,7 @@ void AioBlockCompletion::complete(ssize_t r)
|
||||
dout(10) << "block_ofs=" << block_ofs << dendl;
|
||||
|
||||
/* a hole? */
|
||||
if (extent_ofs - block_ofs) {
|
||||
if (extent_ofs - block_ofs > 0) {
|
||||
dout(10) << "<1>zeroing " << buf_bl_pos << "~" << extent_ofs << dendl;
|
||||
dout(10) << "buf=" << (void *)(buf + buf_bl_pos) << "~" << (void *)(buf + extent_ofs - ofs - 1) << dendl;
|
||||
memset(buf + buf_bl_pos, 0, extent_ofs - block_ofs);
|
||||
@ -1391,7 +1391,7 @@ int aio_read(ImageCtx *ictx, uint64_t off, size_t len,
|
||||
int64_t ret;
|
||||
int total_read = 0;
|
||||
uint64_t start_block = get_block_num(&ictx->header, off);
|
||||
uint64_t end_block = get_block_num(&ictx->header, off + len);
|
||||
uint64_t end_block = get_block_num(&ictx->header, off + len - 1);
|
||||
uint64_t block_size = get_block_size(&ictx->header);
|
||||
uint64_t left = len;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user